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] は、ページオブジェクト配列全体 (テキスト、パス、画像が混在) をインデックスし、対象のオブジェクトがたまたま画像であれば同じビットマップを返します
nil を返します
// 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;