property BitmapCount: Integer; // read only
BitmapCount vráti počet obrázkových objektov strany na aktuálne aktívnej strane
(špecifikácia PDF 1.7, sekcia 8.9). Tvorí pár s indexerom Bitmap[Index],
ktorý dekóduje podkladový stream obrázku do plne vykresleného
TBitmap Delphi (32-bit RGBA, pripraveného pre Canvas.Draw, prenos do
schránky alebo uloženie do PNG/BMP).
Hodnota je 0, keď je Active False, keď
je PageNumber neplatný alebo keď strana neobsahuje žiadne obrázkové objekty.
Počet je identický s ImageCount; tieto dve vlastnosti sa líšia iba
návratovým typom svojich indexerov — Image[Index] vracia surový
dekódovaný pixelový buffer v zázname TPdfImage, zatiaľ čo
Bitmap[Index] zabalí tento buffer do spravovaného VCL TBitmap
vlastneného volajúcim.
Typická slučka je for I := 0 to Pdf.BitmapCount - 1 do nasledovaná
Pdf.Bitmap[I]. Každý prístup alokuje nový TBitmap a kopíruje
pixely — nevolajte to v tesných slučkách renderovania; bitmapu pri opätovnom použití ukladajte do vyrovnávacej pamäte.
Po dokončení uvoľnite každú vrátenú bitmapu, aby ste promptne uvoľnili zdroje GDI.
TBitmap automaticky pomocou PDFium.ImageCount / Image[Index] sa vyhne réžii alokácie
GDI bitmapy.
var I: Integer;
var Bmp: TBitmap;
for I := 0 to Pdf1.BitmapCount - 1 do
begin
Bmp := Pdf1.Bitmap[I];
try
Bmp.SaveToFile(Format('image_%d.bmp', [I]));
finally
Bmp.Free;
end;
end;