PDFium Component Docs

BitmapCount Właściwość

Component: TPdf  ·  Unit: PDFium
Liczba obrazowych obiektów strony na aktywnej stronie, dostępnych jako VCL TBitmap

Syntax

property BitmapCount: Integer; // read only

Description

BitmapCount zwraca liczbę obrazowych obiektów strony na aktualnie aktywnej stronie (sekcja 8.9 specyfikacji PDF 1.7). Działa w parze z indeksatorem Bitmap[Index], który dekoduje leżący pod spodem strumień obrazu do w pełni wyrenderowanej Delphi TBitmap (32-bit RGBA, gotowej do Canvas.Draw, transferu do schowka albo zapisu do PNG/BMP)

Wartość wynosi 0, gdy Active jest False, gdy PageNumber jest niepoprawny albo gdy strona nie zawiera obiektów obrazów. Liczba jest identyczna z ImageCount; obie właściwości różnią się wyłącznie typem zwracanym przez swoje indeksatory — Image[Index] oddaje rekord TPdfImage, którego Data trzyma zdekodowany bufor pikseli, a RawData przenosi nadal zakodowany strumień obrazu, natomiast Bitmap[Index] opakowuje ten bufor w zarządzaną VCL TBitmap należącą do wywołującego

Typowa pętla to for I := 0 to Pdf.BitmapCount - 1 do, po której następuje Pdf.Bitmap[I]. Każde odwołanie alokuje nową TBitmap i kopiuje piksele — nie wywołuj jej w ciasnych pętlach renderujących; przy ponownym użyciu zapisz bitmapę w pamięci podręcznej. Każdą zwróconą bitmapę zwolnij po skończeniu pracy, aby niezwłocznie odzyskać zasoby GDI

Remarks

Example

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;

See Also

Bitmap, ImageCount, Image, ObjectBitmap