新闻  |   论坛  |   博客  |   在线研讨会
简单的Lazarus图像格式转换
0750long | 2009-07-15 13:32:29    阅读:2474   发布文章

简单的Lazarus图像格式转换

 

在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格式的保存。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客