关于Delphi图象存储的问题 ( 积分: 0 )

  • 主题发起人 主题发起人 forever_dfw
  • 开始时间 开始时间
F

forever_dfw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Delphi中用PaintBox控件里画了一些东西,然后用以下以代码存储这个图片
procedure TfrmStampGenerate.Button3Click(Sender: TObject);
var
bmp: TBitmap;
r: TRect;
begin
bmp := TBitmap.Create;
bmp.Width := self.Pb.Width; //pb是PaintBox控件
bmp.Height := self.Pb.Height;
r := Rect(self.Pb.Left, self.Pb.Top, self.Pb.Width, self.Pb.Height);
bmp.Canvas.CopyRect(r, self.Pb.Canvas, r);
bmp.SaveToFile('d:/ddd.bmp');
bmp.Free;
end;
但是这个已经存储的ddd.bmp文件太大了(110K),我想让它存成32K以下的文件如何实现。我试过先存成.gif文件,然后通过画图软件另存为.bmp后就可以了。但有时存成.gif文件后也是110K。请大家指教,我是新手,谢谢!
 
我在Delphi中用PaintBox控件里画了一些东西,然后用以下以代码存储这个图片
procedure TfrmStampGenerate.Button3Click(Sender: TObject);
var
bmp: TBitmap;
r: TRect;
begin
bmp := TBitmap.Create;
bmp.Width := self.Pb.Width; //pb是PaintBox控件
bmp.Height := self.Pb.Height;
r := Rect(self.Pb.Left, self.Pb.Top, self.Pb.Width, self.Pb.Height);
bmp.Canvas.CopyRect(r, self.Pb.Canvas, r);
bmp.SaveToFile('d:/ddd.bmp');
bmp.Free;
end;
但是这个已经存储的ddd.bmp文件太大了(110K),我想让它存成32K以下的文件如何实现。我试过先存成.gif文件,然后通过画图软件另存为.bmp后就可以了。但有时存成.gif文件后也是110K。请大家指教,我是新手,谢谢!
 
存成jpeg文件吧
 
要调整格式,8bit,16bit,24bit,32bit, 8bit,应该很小
bitmap.format///忘了是什么,去delphi里擦就知道了
 
同意wangminqi
还是生成JPEG图片
把bmp: TBitmap;改成Tpicture
 
谢谢大家的答案,我是新手,还请大家多多指教。
 
后退
顶部