在Delphi中如何使用颜色
lzc 2000-11-19 05:35:00 我想做一个图形内存影像文件(即用BC中getimage生成的格式)和bmp文件互转程序。本来想利用TImage的图形点阵属性(Image1.Canvas.Pixels)直接转换而不用理会bmp的内部格式,结果生成的bmp图象轮廓是对的,颜色却不对,不知为何?注:影像文件是640x480的16位颜色格式,Windows用640*480的增强色(16位)
主要代码如下:
var
f: File of word;
x,y,ix,iy,color: word;
begin
AssignFile(f,'demo.img');
Reset(f);
Read(f,x,ix,y,ix); // ix=0;
Image1.Picture.Graphic.Width:=x;
Image1.Picture.Graphic.Height:=y;
for iy:=y-1 DownTo 0 do
begin
for ix:=0 to x-1 do
begin
Read(f,color);
Image1.Canvas.Pixels[ix,iy]:=color;
end;
end;
CloseFile(f);
Image1.Picture.SaveToFile('demo.bmp')
end;