PDFium Delphi Component Docs

Bitmap Свойство

Компонент: TPdf  ·  Модуль: PDFium
Возвращает только что декодированный VCL TBitmap, содержащий растровые данные указанного объекта изображения на текущей странице. Bitmap выделяется заново при каждом вызове; владелец объекта отвечает за вызов Free

Syntax

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

IndexИндекс изображения на текущей странице с нуля, в диапазоне от 0 до BitmapCount - 1

Description

Bitmap возвращает TBitmap с пиксельными данными n-го растрового изображения на текущей странице. PDFium декодирует исходный поток (JPEG, JPEG2000, CCITT, JBIG2 или пиксельные данные FlateDecode), а PDFium Delphi Component превращает результат в VCL TBitmap в сохранённом разрешении изображения; там, где источник несёт soft mask, альфа сохраняется как 32-битная ARGB-поверхность

Каждый вызов выделяет новый bitmap; свойство ничего не кэширует. Поэтому вызывать его из рабочих потоков безопасно, но вызывающий обязан всегда освобождать возвращённый объект — обычно в блоке try .. finally

Если помимо этого нужны матрица трансформации изображения на странице и габаритный прямоугольник, берите Image[Index] — он возвращает запись, где тот же TBitmap идёт в комплекте с метаданными о позиции. А ObjectBitmap[ObjectIndex], безразличный к типу объекта, индексирует весь массив объектов страницы (текст, пути, изображения вперемешку) и вернёт тот же bitmap, если целевой объект оказался изображением

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