property Bitmap[Index: Integer]: TBitmap; // read only
| Index | 0-basierter Bildindex auf der aktuellen Seite, im Bereich 0 bis BitmapCount - 1 |
Bitmap liefert ein TBitmap mit den Pixeldaten des
n-ten Rasterbilds auf der aktuellen Seite. PDFium dekodiert den zugrunde liegenden Stream
(JPEG, JPEG2000, CCITT, JBIG2- oder FlateDecode-Pixeldaten) und PDFium Delphi Component wandelt das
Ergebnis in ein VCL-TBitmap mit der gespeicherten Auflösung des Bilds um; Alpha
bleibt als 32-Bit-ARGB-Oberfläche erhalten, wo die Quelle eine Softmask mitliefert
Jeder Aufruf allokiert eine frische Bitmap; die Eigenschaft cacht nicht. Damit ist sie
bedenkenlos aus Worker-Threads aufrufbar, aber Aufrufer müssen das zurückgegebene
Objekt immer freigeben, typischerweise in einem try .. finally-Block
Wenn Sie zusätzlich die Transformationsmatrix und das umgebende Rechteck des Bilds auf der
Seite brauchen, verwenden Sie Image[Index] — es liefert einen
Record, der dasselbe TBitmap mit Positionsmetadaten bündelt. Der formunabhängige
Bruder ObjectBitmap[ObjectIndex] indiziert das
vollständige Seitenobjekt-Array (gemischt aus Text, Pfaden, Bildern) und liefert dieselbe
Bitmap, falls das anvisierte Objekt zufällig ein Bild ist
nil, wenn Index außerhalb des Bereichs liegt oder das Dokument nicht aktiv ist
// 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;