Search code examples
delphipngdelphi-2009gifwmf

How can I convert a WMF picture to GIF or PNG with Delphi?


Is there a way to convert a WMF picture to GIF or PNG with the Delphi 2009 (or newer) run time libraries?


Solution

  • PNG is not that hard, Delphi 2009 includes TPNGImage. For GIF you can use GDI+ or the TGifImage component...

    Here's the code :

    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;