property Bitmap[Index: Integer]: TBitmap; // read only
| Index | Indeks obrazu liczony od zera 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 leżący u podstaw
strumień (JPEG, JPEG2000, CCITT, JBIG2 lub dane pikselowe FlateDecode), a PDFium Delphi Component
konwertuje wynik na TBitmap VCL w zapisanej rozdzielczości obrazu,
z kanałem alfa zachowanym jako powierzchnia 32-bitowa ARGB, gdy źródło dostarcza
miękką maskę
Każde wywołanie alokuje nową mapę bitową; właściwość nie buforuje. Dzięki temu
właściwość można bezpiecznie wywoływać z wątków roboczych, ale oznacza to również,
że wywołujący muszą zawsze zwolnić zwrócony obiekt, zwykle wewnątrz bloku
try .. finally
Gdy potrzebujesz także macierzy transformacji obrazu na stronie i prostokąta
otaczającego, użyj zamiast tego Image[Index] — zwraca
rekord łączący tę samą mapę bitową TBitmap z metadanymi pozycji.
Niezależny od kształtu odpowiednik ObjectBitmap[ObjectIndex]
indeksuje pełną tablicę obiektów strony (mieszany tekst, ścieżki, obrazy) i zwraca
tę samą mapę bitową, jeśli wskazany obiekt akurat jest obrazem
nil, gdy Index jest spoza zakresu lub gdy 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;