如何读取一个BMP文件的对应坐标的颜色值?(100分)

  • 主题发起人 主题发起人 冰封
  • 开始时间 开始时间

冰封

Unregistered / Unconfirmed
GUEST, unregistred user!
16位BMP的文件格式是什么?
如何读取一个16位BMP文件的对应坐标的颜色值?不是从象素取颜色。
比如,我已经有A.bmp,我要获得它(X,Y)点的颜色值,而我并不想让A.BMP显示出来,
如何实现?



 
Color:=Image.Canvas.Pixels[X, Y];
NEXT
ColorToRGB
 
不想显示出来?想从文件中读吗?
BMP文件头结构有吗?好像一般是从$40开始图像内容的,
16位BMP,每两个字节为一点,
但:
BMP的行是最后一行算起?
每行有对齐?
。。。这两个问题要自己验证一下

只有这么多了
 
YB_unique 的答案就是从象素取的颜色,如果不显示图象根本取不到颜色值。

如果能得到IMAGE控件读出的文件的内存缓冲区及格式最好,或者类似API函数也行,
真没办法只好从文件读取。
 
var
Bmp: TBitmap;
begin
Bmp:=TBitmap.Create;
Bmp.Canvas.Pixels[x,y];
你可以用这两个结构把bmp结构读出来
BITMAPFILEHEADER
BITMAPINFOHEADER
 
多人接受答案了。
 

Similar threads

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