PDFium Delphi Component Docs

AddImage メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
現在の PDF ページにファイルから画像を挿入します。内部では TPicture.LoadFromFile を使用するため、VCL または LCL のグラフィックユニットに登録された任意の画像形式 (BMP、Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic 経由の PNG、JPG など) を受け付けます。座標は PDF ユーザー空間 (原点はページ左下) で、Width と Height はソース画像のピクセルサイズではなくユーザー単位での配置サイズです

構文

procedure AddImage(const FileName: string; X, Y, Width, Height: Double);

FileNamestring。画像ファイルへの完全パス。VCL/LCL グラフィックシステムに登録された任意の形式 (BMP、PNG、JPG など) を受け付けます

 

procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);

BitmapTBitmap。PixelFormat = pf32bit の事前読み込み済みビットマップ。nil は許可されず、渡すと EPdfError が発生します

説明

AddImage は、指定された位置とサイズで現在の PDF ページに画像を配置します。2 つのオーバーロードがあり、片方はファイルパスから直接画像を読み込み、もう片方は構築済みの TBitmap オブジェクトを受け取ります

ファイルベースのオーバーロードは内部で TPicture.LoadFromFile を使用するため、VCL または LCL のグラフィックシステムに登録された任意の画像形式をサポートします。これには BMP、PNG (Vcl.Imaging.PngImage または LCL の同等ユニット経由)、JPEG などが含まれます。このメソッドを呼び出す前に、必要なユニットをプロジェクトの uses 句に含めてください

ビットマップオーバーロードは PixelFormat = pf32bit の TBitmap を受け取ります。これは、ビットマップが既にメモリ上にある場合 (オフスクリーンレンダリングの結果など) に便利で、ディスクや TPicture を経由する往復を避けられます。nil のビットマップを渡すと EPdfError 例外が発生します

X と Y は、画像を配置する矩形の左下コーナーを PDF ユーザー単位で指定します (原点はページ左下、Y は上向きに増加します)。Width と Height がページ上の描画サイズを決定し、ソース画像はピクセル解像度に関係なくこの寸法に合わせて拡大縮小されます

例

// Place a PNG file at (72, 600), rendered 200 x 150 pt on the page
Pdf1.NewPage(595, 842);
Pdf1.AddImage('C:\Images\logo.png', 72, 600, 200, 150);

// Add a pre-built 32-bit bitmap
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.PixelFormat := pf32bit;
    Bmp.LoadFromFile('C:\Images\photo.bmp');
    Pdf1.AddImage(Bmp, 72, 400, 300, 200);
  finally
    Bmp.Free;
  end;
end;

関連項目

AddPicture, AddJpegImage, AddText