property Bitmap[Index: Integer]: TBitmap; // read only
| Index | Nullbasierter Bildindex auf der aktuellen Seite im Bereich 0 bis BitmapCount - 1. |
Bitmap gibt ein TBitmap zurück, das die Pixeldaten des
n-ten Rasterbildes auf der aktuellen Seite enthält. PDFium dekodiert den
zugrunde liegenden Stream (JPEG-, JPEG2000-, CCITT-, JBIG2- oder FlateDecode-Pixeldaten)
und PDFiumPas wandelt das Ergebnis in ein VCL TBitmap mit der gespeicherten
Auflösung des Bildes um, wobei Alpha als 32-Bit-ARGB-Oberfläche erhalten bleibt, wenn die
Quelle eine weiche Maske liefert
Jeder Aufruf reserviert ein neues Bitmap; die Eigenschaft cached nicht. Dadurch ist die
Eigenschaft zwar sicher 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 Begrenzungsrechteck des Bildes auf
der Seite benötigen, verwenden Sie stattdessen Image[Index] -
es gibt einen Datensatz zurück, der dasselbe TBitmap mit Positionsmetadaten
bündelt. Das formagnostische Gegenstück
ObjectBitmap[ObjectIndex] indiziert in das gesamte
Seitenobjekt-Array (gemischter Text, Pfade, Bilder) und gibt dasselbe Bitmap zurück, wenn
das Zielobjekt zufällig ein Bild ist
nil when Index außerhalb des Bereichs liegt oder wenn 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;