property BitmapCount: Integer; // read only
BitmapCount gibt die Anzahl der Bild-Seitenobjekte auf der aktuell aktiven Seite zurück
(PDF-1.7-Spezifikation, Abschnitt 8.9). Es gehört zum Indexer Bitmap[Index],
der den zugrunde liegenden Bild-Stream in ein vollständig gerendertes Delphi
TBitmap dekodiert (32-Bit-RGBA, bereit für Canvas.Draw,
Zwischenablage-Übertragung oder das Speichern als PNG/BMP)
Der Wert ist 0, wenn Active False ist, wenn
PageNumber ungültig ist oder wenn die Seite keine Bildobjekte enthält. Die
Anzahl ist identisch mit ImageCount; die beiden Eigenschaften unterscheiden
sich nur im Rückgabetyp ihrer Indexer - Image[Index] gibt den rohen
dekodierten Pixelpuffer in einem TPdfImage-Datensatz zurück, während
Bitmap[Index] diesen Puffer in ein verwaltetes VCL TBitmap
verpackt, das dem Aufrufer gehört
Die typische Schleife lautet for I := 0 to Pdf.BitmapCount - 1 do gefolgt von
Pdf.Bitmap[I]. Jeder Zugriff reserviert ein neues TBitmap und
kopiert Pixel - rufen Sie es nicht in engen Rendering-Schleifen auf; cachen Sie das
Bitmap, wenn Sie es mehrfach verwenden. Geben Sie jedes zurückgegebene Bitmap frei, wenn
Sie fertig sind, damit GDI-Ressourcen zügig freigegeben werden
TBitmap alpha channel automatically by PDFium.ImageCount / Image[Index] avoids the GDI bitmap
allocation 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;