关于bmp文件保存变色问题如何解决?(200分)

  • 主题发起人 高手贵姓
  • 开始时间

高手贵姓

Unregistered / Unconfirmed
GUEST, unregistred user!
打开某文件后按像素读取显示图像,然后将image中显示的图像保存下来。但不知道为什么保存出来的bmp,开始二张还是正常的,但是第三张开始就变色了!?

所用代码如下:
if SavePictureDialog1.Execute then
begin
Image1.Picture.SaveToFile(SavePictureDialog1.filename);
end;

之前的图像是用 Image1.Canvas.Pixels[j,i]:=clBlack 之类的方法按像素描绘出来的!这个图像本身只有四种颜色。

哪位朋友能帮忙指点解决一下!
 
给你两个建议,一个是用
Image1.Picture.Graphic.SaveToFile试试,因为Graphic里面保存的才是真正的位图格式。

第二个是用下面的方法保存,因为装入后可能有的图片PixelFormat低,装入后下次没有主动更改回来。
var bmp : TBitMap;
begin
bmp := TBitmap.Create;
try
bmp.PixelFormat := pf24bit;
bmp.Assign(Image1.Picture.Graphic);
bmp.SaveToFile('f:/abc.bmp');
Finally
bmp.Free;
end;
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部