如何获取内存中bmp图片的某个坐标的颜色?
比如内存中有一个bmp1,来自于截屏,我想获取bmp1的坐标为[100,100]这个点的RGB值,求代码?谢谢
[解决办法]
var
p: PByteArray;
begin
for y := 0 to Bmp.Height - 1 do
begin
p := Bmp.scanline[y];
for x := 0 to Bmp.Width - 1 do
begin
红色:=p[x * 3 + 1];
绿色:=p[x * 3 + 2];
蓝色:=p[x * 3 + 3]
end;
end;
end;
bmp1的坐标为[100,100],就是x=100,y=100;
[解决办法]
用scanline需要知道bmp的位深,也许还要取调色板信息。
就算不需要调色板,24位色和32位色的内存排布也有区别。