256色和16M彩色下RGB的颜色问题,200分!(200分)

  • 主题发起人 主题发起人 NeutronDelphi
  • 开始时间 开始时间
N

NeutronDelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
1,如何判断某种颜色是256色还是16M真彩色还是24M彩色
2,在256色16M彩色位图里,RGB是如何存放的,应如何提取?
本人熟习GUI API,(ColorToRGB,GetRValue,GetGValue等等)所以
不要用这些API来灌水!
我好像发现过类似的帖子,不过好像不如人意!
 
不明白 你的意思 颜色 有分 256 16M 24M 的吗?
如果你指的是位图的话,可以用
TBitMap的 PixelFormat属性 判断
也可以 用 。bmp文件的 位图信息头 BITMAPINFOHEADER
这是一个结构 里面有一个 biBitCount 可以区分
 
to singler82:
TBitmap千万不要写成TBitMap,要不别人一看就知道你是个编码。。
位图有单色,16色,256色,16M,24M,32M,TBitmap.PixelFormat分别为pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit,
好了,老兄,别灌了,这个问题我又没有问,你又何必回答呢?
 
16色,256色时是保存要色表,数据区保存颜色的索引,
16M色没有颜色表,数据区直接保存RGB.
 
1.单个颜色是没有多少色之分的 就是RGB24位颜色空间中的一点256*256*256(RGB颜色空间的话)
2.在256色位图中一般内置颜色索引(最多256项,所以叫256色),然后在像素阵列中每个点用一个字节0-255记录该店对应颜色的索引值
如何提取什么?提取每点的颜色吗? 数据的话参考BITMAPINFOHEADER的结构 得到索引并进行检索,如果是已经加载的位图 GetPaletteEntries 取得调色板的具体颜色值(TBitmap.Palette)

btw singler82的回答并没有错,也不是就为了混分灌水
 
这个问题这麽简单,但是楼主的态度如此嚣张,我就没有说的必要了!!
 
我已经找到答案了,想不到运算还不是很简单,huazai兄,哈哈,你是气我吧!
其实我没有别的意思,只是我经常看到一些人回答别人的问题的没有责任心,
给人某种误导,这一点我相信你也见过。
我回答别人一般都个别人作好Demo!
 
你们说的这些我都明白,咳,算了,散发!
谢谢各位的光临!
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
769
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部