property Bitmap[Index: Integer]: TBitmap; // read only
| Index | 0-based indeks obrazu na bieżącej stronie, w zakresie od 0 do BitmapCount - 1 |
Bitmap zwraca TBitmap zawierający dane pikselowe n-tego obrazu rastrowego na bieżącej stronie. PDFium dekoduje bazowy strumień (JPEG, JPEG2000, CCITT, JBIG2 lub dane pikselowe FlateDecode), a PDFiumPas konwertuje wynik do VCL TBitmap w zapisanej rozdzielczości obrazu, z zachowaniem alfa jako 32-bitowej powierzchni ARGB, gdy źródło udostępnia soft mask
Każde wywołanie alokuje nową bitmapę; właściwość nie buforuje wyniku. Dzięki temu można z niej bezpiecznie korzystać z wątków roboczych, ale wywołujący musi zawsze zwolnić zwrócony obiekt, zwykle wewnątrz bloku try .. finally
Jeśli potrzebujesz także macierzy transformacji obrazu na stronie i prostokąta ograniczającego, użyj zamiast tego Image[Index] — zwraca rekord łączący ten sam TBitmap z metadanymi pozycji. Pokrewny ObjectBitmap[ObjectIndex] niezależny od kształtu indeksuje pełną tablicę obiektów strony (mieszane teksty, ścieżki, obrazy) i zwraca tę samą bitmapę, jeśli wskazany obiekt jest obrazem
nil, gdy Index jest poza zakresem albo dokument nie jest aktywny
// 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;