2004. augusztus 5., csütörtök

Converting a Bitmap to EMF (Enhanced Metafile)

Problem/Question/Abstract:

How can I convert a Bitmap to EMF format (Enhanced Metafile)?

Answer:

function bmp2emf(const SourceFileName: TFileName): Boolean;
// Converts a Bitmap to a Enhanced Metafile (*.emf)
var
Metafile: TMetafile;
MetaCanvas: TMetafileCanvas;
Bitmap: TBitmap;
begin
Metafile := TMetaFile.Create;
try
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile(SourceFileName);
Metafile.Height := Bitmap.Height;
Metafile.Width := Bitmap.Width;
MetaCanvas := TMetafileCanvas.Create(Metafile, 0);
try
MetaCanvas.Draw(0, 0, Bitmap);
finally
MetaCanvas.Free;
end;
finally
Bitmap.Free;
end;
Metafile.SaveToFile(ChangeFileExt(SourceFileName, '.emf'));
finally
Metafile.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
bmp2emf('C:\TestBitmap.bmp');
end;

Nincsenek megjegyzések:

Megjegyzés küldése