PDFium Component Docs

Bitmap vlastnosť

Component: TPdf  ·  Unit: PDFium
Vráti novo dekódovaný VCL TBitmap s rastrovými údajmi zadaného obrazového objektu na aktuálnej strane. Bitmapa sa pri každom volaní alokuje nanovo; vlastník ju musí sám uvoľniť volaním Free

Syntax

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

IndexIndex obrázku so základom 0 na aktuálnej strane, v rozsahu 0 až BitmapCount - 1.

Description

Bitmap vráti TBitmap obsahujúce pixelové dáta n-tého rastrového obrázku na aktuálnej strane. PDFium dekóduje podkladový stream (JPEG, JPEG2000, CCITT, JBIG2 alebo pixelové dáta FlateDecode) a PDFiumPas konvertuje výsledok na VCL TBitmap v uloženom rozlíšení obrázku, pričom alfa sa zachová ako 32-bitová ARGB plocha tam, kde zdroj poskytuje mäkkú masku.

Každé volanie alokuje novú bitmapu; vlastnosť neukladá do vyrovnávacej pamäte. To robí vlastnosť bezpečnou na volanie z pracovných vlákien, ale znamená to, že volajúci musí vždy uvoľniť vrátený objekt, zvyčajne vnútri bloku try .. finally.

Keď potrebujete aj transformáčnu maticu obrázku na strane a ohraničujúci obdĺžnik, použite namiesto toho Image[Index] — vráti záznam, ktorý zabalí rovnaký TBitmap s pozičnými metadátami. Súrodenec nešpecifický pre tvar ObjectBitmap[ObjectIndex] indexuje do úplného poľa objektov strany (zmiešaný text, cesty, obrázky) a vráti rovnakú bitmapu, ak cieleným objektom sa náhodou stane obrázok.

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