2010-03-20 24 views

Répondre

2

PNG n'est pas si difficile, Delphi 2009 inclut TPNGImage. Pour GIF, vous pouvez utiliser GDI + ou le composant TGIFImage ...

Voici le 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; 
+0

La variable p peut également être déclarée avec le type TMetafile, cela a l'avantage que je peux aussi utiliser p. LoadFromStream. – mjn

+0

Ne serait-il pas préférable, en général, de créer l'image png après avoir initialisé p.width et p.height en chargeant input.wmf? Bien sûr, ce n'est que du code de démonstration. – Argalatyr