property BitmapCount: Integer; // read only
BitmapCount gibt die Anzahl der Bild-Seitenobjekte auf der aktuell aktiven Seite zurück
(PDF 1.7 Spec, Abschnitt 8.9). Sie gehört zum Indexer Bitmap[Index],
der den zugrunde liegenden Bildstrom in eine vollständig gerenderte Delphi-
TBitmap dekodiert (32-Bit-RGBA, bereit für Canvas.Draw, Clipboard-
Übertragung oder das Speichern als PNG/BMP)
Der Wert ist 0, wenn Active auf False steht, 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] liefert einen
TPdfImage-Record, dessen Data den dekodierten Pixelpuffer enthält
und dessen RawData den noch kodierten Bildstrom trägt, während
Bitmap[Index] diesen Puffer in eine verwaltete VCL-TBitmap
im Eigentum des Aufrufers verpackt
Die typische Schleife ist for I := 0 to Pdf.BitmapCount - 1 do gefolgt von
Pdf.Bitmap[I]. Jeder Zugriff weist ein neues TBitmap zu und kopiert
Pixel — rufen Sie sie nicht in engen Renderingschleifen auf; cachen Sie die Bitmap bei Wiederverwendung.
Geben Sie jede zurückgegebene Bitmap frei, sobald Sie fertig sind, um GDI-Ressourcen umgehend freizugeben
TBitmap eingerechnetImageCount / Image[Index] den
Zuweisungsaufwand für GDI-Bitmaps
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;