PDFium Delphi Component Docs

Bitmap Eigenschaft

Komponente: TPdf  ·  Unit: PDFium
Gibt ein frisch decodiertes VCL-<code>TBitmap</code> mit den Rasterdaten des angegebenen Bildobjekts auf der aktuellen Seite zurück. Das Bitmap wird bei jedem Aufruf neu angelegt; der Aufrufer besitzt es und ist für den Aufruf von <code>Free</code> verantwortlich

Syntax

property Bitmap[Index: Integer]: TBitmap; // read only

Index0-basierter Bildindex auf der aktuellen Seite, im Bereich 0 bis BitmapCount - 1

Description

Bitmap liefert ein TBitmap mit den Pixeldaten des n-ten Rasterbilds auf der aktuellen Seite. PDFium dekodiert den zugrunde liegenden Stream (JPEG, JPEG2000, CCITT, JBIG2- oder FlateDecode-Pixeldaten) und PDFium Delphi Component wandelt das Ergebnis in ein VCL-TBitmap mit der gespeicherten Auflösung des Bilds um; Alpha bleibt als 32-Bit-ARGB-Oberfläche erhalten, wo die Quelle eine Softmask mitliefert

Jeder Aufruf allokiert eine frische Bitmap; die Eigenschaft cacht nicht. Damit ist sie bedenkenlos aus Worker-Threads aufrufbar, aber Aufrufer müssen das zurückgegebene Objekt immer freigeben, typischerweise in einem try .. finally-Block

Wenn Sie zusätzlich die Transformationsmatrix und das umgebende Rechteck des Bilds auf der Seite brauchen, verwenden Sie Image[Index] — es liefert einen Record, der dasselbe TBitmap mit Positionsmetadaten bündelt. Der formunabhängige Bruder ObjectBitmap[ObjectIndex] indiziert das vollständige Seitenobjekt-Array (gemischt aus Text, Pfaden, Bildern) und liefert dieselbe Bitmap, falls das anvisierte Objekt zufällig ein Bild ist

Remarks

Example

// 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;

See Also

BitmapCount, Image, ImageCount, ObjectBitmap