原创 简单的Lazarus图像格式转换

2009-7-14 09:05 3384 4 3 分类: 软件与OS

在Delphi中,TImage控件支持的图形格式比较少,只有jpg、bmp、ico、emf、wmf等几种。要想使用其他格式的图形,就需要使用pngimage、GraphEx等第三方图形控件才行。


在Lazarus中,这个问题就简单多了。我们打开一个SavePictureDialog控件(它支持的图形格式和TImage是一样的),可以看到它支持:


*.bmp;*.xpm;*.png;*.pbm;*.pgm;*.ppm;*.ico;*.icns;*.cur;*.jpg;*.jpeg;*.jpe;*.jfif


等图形格式,基本常用的都有了,比Delphi中多出很多。进行图形格式转换时也非常简单,只需要先指定文件的后缀名,在用Image.Picture.SaveToFile进行保存,就完成了格式的转换,是不是简单多了。


例如,我在Lazarus demo of MandelBrot Browse这个程序中,保存图形文件的代码是:


  if SavePictureDialog1.Execute then
  begin
    case SavePictureDialog1.FilterIndex of
      1: SavePictureDialog1.FileName := ChangeFileExt(SavePictureDialog1.FileName, '.bmp');
      2: SavePictureDialog1.FileName := ChangeFileExt(SavePictureDialog1.FileName, '.xpm');
      3: SavePictureDialog1.FileName := ChangeFileExt(SavePictureDialog1.FileName, '.png');
      4: SavePictureDialog1.FileName := ChangeFileExt(SavePictureDialog1.FileName, '.jpg');
    end;
    Image1.Picture.SaveToFile(SavePictureDialog1.FileName);  


这样就完成了bmp、xpm、png、jpg格式的保存。


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条