



É necessário estar declarado Graphics na seção uses,
em versões unicode declare Vcl.Graphics;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function BmpToWmf(Bmp : TBitmap) : TMetafile; var MetaFile: TMetaFile; MFCanvas: TMetaFileCanvas; begin Result := TMetaFile.Create; Result.Height := BMP.Height; Result.Width := BMP.Width; MFCanvas := TMetafileCanvas.Create(Result, 0); try MFCanvas.Draw(0, 0, BMP); finally MFCanvas.Free; end; end; |
Exemplo de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | procedure TForm1.Button1Click(Sender: TObject); var vWmf: TMetafile; vBmp: TBitmap; begin vBmp := TBitmap.Create; vBmp.LoadFromFile('D:\teste.bmp'); vWmf := BmpToWmf(vBmp); vWmf.SaveToFile('D:\novo_teste.wmf'); vBmp.Free; vWmf.Free; end; |