PDFium Component Docs

Bitmap Właściwość

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Zwraca świeżo zdekodowany VCL TBitmap zawierający dane rastrowe wskazanego obiektu obrazu na bieżącej stronie. Bitmapa jest alokowana od nowa przy każdym wywołaniu; wywołujący jest jej właścicielem i odpowiada za wywołanie Free

Składnia

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

Index0-based indeks obrazu na bieżącej stronie, w zakresie od 0 do BitmapCount - 1

Opis

Bitmap zwraca TBitmap zawierający dane pikselowe n-tego obrazu rastrowego na bieżącej stronie. PDFium dekoduje bazowy strumień (JPEG, JPEG2000, CCITT, JBIG2 lub dane pikselowe FlateDecode), a PDFiumPas konwertuje wynik do VCL TBitmap w zapisanej rozdzielczości obrazu, z zachowaniem alfa jako 32-bitowej powierzchni ARGB, gdy źródło udostępnia soft mask

Każde wywołanie alokuje nową bitmapę; właściwość nie buforuje wyniku. Dzięki temu można z niej bezpiecznie korzystać z wątków roboczych, ale wywołujący musi zawsze zwolnić zwrócony obiekt, zwykle wewnątrz bloku try .. finally

Jeśli potrzebujesz także macierzy transformacji obrazu na stronie i prostokąta ograniczającego, użyj zamiast tego Image[Index] — zwraca rekord łączący ten sam TBitmap z metadanymi pozycji. Pokrewny ObjectBitmap[ObjectIndex] niezależny od kształtu indeksuje pełną tablicę obiektów strony (mieszane teksty, ścieżki, obrazy) i zwraca tę samą bitmapę, jeśli wskazany obiekt jest obrazem

Uwagi

Przykład

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

Zobacz też

BitmapCount, Image, ImageCount, ObjectBitmap