このコードを使用して画像を描画し、Delphi 2006 で TIFF として保存します。
var Bmp: TBitmap;
MF: TMetaFile;
MetafileCanvas: TMetafileCanvas;
begin
Gdip := TGDIPlusFull.Create('gdiplus.dll');
MF := TMetaFile.Create;
MF.Width := 1000;
MF.Height := 1100;
MetafileCanvas := TMetafileCanvas.Create(MF, 0);
MetafileCanvas.Brush.Color := clRed;
MetafileCanvas.Brush.Style := bsDiagCross;
MetafileCanvas.Ellipse(50, 50, 300 - 50, 200 - 50);
MetafileCanvas.Free;
Bmp := Gdip.DrawAntiAliased(MF);
Image1.Picture.Assign(Bmp);
SynGDIPlus.SaveAs(Bmp, 'c:\test.tif', gptTIF);
Bmp.Free;
MF.Free;
FreeAndNil(GdiP);
end;
注: http://www.synopse.info の無料のフレームワークを使用しています。
コードは非常にうまく機能します。しかし、私には問題があります。TIFF 解像度を設定する方法を教えてください。私の test.tif 画像は 96 DPI (画面解像度) ですが、200 DPI が必要です。DPI解像度のみを変更したいので、画像の寸法(幅と高さ)を変更したくないことに注意してください。
この質問については多くの回答が見つかりましたが、Delphi については何も見つかりませんでした。