如何使用Delphi将WMF图片转换为GIF或PNG?
有没有一种方法可以将图片转换为Delphi 2009(或更新版本)运行时库?PNG并不是那么难,Delphi 2009包括TPNGImage。 对于GIF,您可以使用GDI+或TGifImage组件 代码如下:如何使用Delphi将WMF图片转换为GIF或PNG?,delphi,png,delphi-2009,gif,wmf,Delphi,Png,Delphi 2009,Gif,Wmf,有没有一种方法可以将图片转换为Delphi 2009(或更新版本)运行时库?PNG并不是那么难,Delphi 2009包括TPNGImage。 对于GIF,您可以使用GDI+或TGifImage组件 代码如下: procedure Test; var p : TPicture; png : TPngImage; begin try p := TPicture.Create; p.LoadFromFile('c:\INPUT.WMF'); png := TPng
procedure Test;
var
p : TPicture;
png : TPngImage;
begin
try
p := TPicture.Create;
p.LoadFromFile('c:\INPUT.WMF');
png := TPngImage.CreateBlank(COLOR_RGB, 8, p.Width, p.Height);
png.Canvas.Draw(0,0, p.Graphic);
png.SaveToFile('C:\OUTPUT.png');
finally
Free(p);
Free(png);
end;
end;
PNG并没有那么难,Delphi 2009包含了TPNGImage。 对于GIF,您可以使用GDI+或TGifImage组件 代码如下:
procedure Test;
var
p : TPicture;
png : TPngImage;
begin
try
p := TPicture.Create;
p.LoadFromFile('c:\INPUT.WMF');
png := TPngImage.CreateBlank(COLOR_RGB, 8, p.Width, p.Height);
png.Canvas.Draw(0,0, p.Graphic);
png.SaveToFile('C:\OUTPUT.png');
finally
Free(p);
Free(png);
end;
end;
变量p也可以用类型TMetafile声明,其优点是我也可以使用p.LoadFromStream。一般来说,在通过加载input.wmf初始化p.width和p.height之后创建pngimage不是更好吗?当然,这只是演示代码。变量p也可以用类型TMetafile声明,其优点是我也可以使用p.LoadFromStream。一般来说,在通过加载input.wmf初始化p.width和p.height之后创建pngimage不是更好吗?当然,这只是演示代码。