property BitmapCount: Integer; // read only
BitmapCount geeft het aantal afbeeldings-page-objecten op de momenteel actieve pagina
terug (PDF 1.7-spec, sectie 8.9). Het hoort bij de indexer Bitmap[Index],
die de onderliggende afbeeldingsstream decodeert naar een volledig gerenderde Delphi
TBitmap (32-bit RGBA, klaar voor Canvas.Draw,
klembordoverdracht of opslag als PNG/BMP).
De waarde is 0 wanneer Active False is, wanneer
PageNumber ongeldig is of wanneer de pagina geen afbeeldingsobjecten bevat. Het
aantal is identiek aan ImageCount; de twee eigenschappen verschillen alleen in
het retourtype van hun indexers — Image[Index] geeft een
TPdfImage-record terug waarvan Data de gedecodeerde pixelbuffer
bevat en RawData de nog-gecodeerde afbeeldingsstream draagt, terwijl
Bitmap[Index] die buffer verpakt in een beheerde VCL TBitmap
in eigendom van de aanroeper.
De gebruikelijke lus is for I := 0 to Pdf.BitmapCount - 1 do gevolgd door
Pdf.Bitmap[I]. Elke toegang alloceert een nieuwe TBitmap en kopieert
pixels — roep het niet aan in strakke renderlussen; cache de bitmap bij hergebruik.
Geef elke teruggegeven bitmap vrij zodra die niet meer nodig is, zodat GDI-resources prompt
worden vrijgegeven.
TBitmap.ImageCount / Image[Index] de GDI-bitmapallocatie-
overhead.
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;