PDFium Delphi Component Docs

Bitmap プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
現在のページの指定画像オブジェクトのラスターデータを保持する、新しくデコードされた VCL TBitmap を返します。ビットマップは呼び出しごとに新しく割り当てられ、所有権は呼び出し側にあり、Free の呼び出しが責務です

構文

property Bitmap[Index: Integer]: TBitmap; // read only

Index現在のページの 0 始まりの画像インデックス。0 から BitmapCount - 1 の範囲です

説明

Bitmap は、現在のページの n 番目のラスター画像のピクセルデータを含む TBitmap を返します。PDFium が基盤のストリーム (JPEG、JPEG2000、CCITT、JBIG2、FlateDecode のピクセルデータ) をデコードし、PDFium Delphi Component がその結果を画像の保存解像度の VCL TBitmap へ変換します。ソースがソフトマスクを持つ場合は、アルファが 32 ビット ARGB サーフェスとして保持されます

呼び出しごとに新しいビットマップが割り当てられ、プロパティはキャッシュを行いません。そのためワーカースレッドから呼び出しても安全ですが、呼び出し側は返されたオブジェクトを必ず解放しなければなりません。通常は try .. finally ブロックの中で解放します

画像のページ上の変換マトリックスと外接矩形も必要な場合は、代わりに Image[Index] を使用してください。同じ TBitmap と位置メタデータをまとめたレコードが返されます。形状に依存しない姉妹プロパティの ObjectBitmap[ObjectIndex] は、ページオブジェクト配列全体 (テキスト、パス、画像が混在) をインデックスし、対象のオブジェクトがたまたま画像であれば同じビットマップを返します

備考

例

// Export every image on the current page as numbered BMP files
var
  I: Integer;
  Bmp: TBitmap;
begin
  for I := 0 to Pdf.BitmapCount - 1 do
  begin
    Bmp := Pdf.Bitmap[I];
    try
      Bmp.SaveToFile(Format('page_%d_img_%d.bmp', [Pdf.PageNumber, I]));
    finally
      Bmp.Free;
    end;
  end;
end;

関連項目

BitmapCount, Image, ImageCount, ObjectBitmap