PDFium Delphi Component Docs

BitmapCount Свойство

Компонент: TPdf  ·  Модуль: PDFium
Число графических объектов-изображений на активной странице, доступных как VCL TBitmap

Syntax

property BitmapCount: Integer; // read only

Description

BitmapCount возвращает количество объектов-изображений на текущей активной странице (спецификация PDF 1.7, раздел 8.9). Оно дополняется индексатором Bitmap[Index], который декодирует лежащий в основе поток изображения в полностью отрисованный Delphi TBitmap (32-битный RGBA, готовый для Canvas.Draw, передачи в буфер обмена или сохранения в PNG/BMP)

Значение равно 0, когда Active равно False, когда PageNumber недействителен или когда страница не содержит объектов-изображений. Число совпадает с ImageCount; два свойства различаются только типом возврата своих индексаторов — Image[Index] возвращает запись TPdfImage, чьё Data содержит декодированный пиксельный буфер, а RawData — всё ещё закодированный поток изображения, тогда как Bitmap[Index] оборачивает этот буфер в управляемый VCL TBitmap, принадлежащий вызывающей стороне

Типичный цикл — for I := 0 to Pdf.BitmapCount - 1 do с последующим обращением к Pdf.Bitmap[I]. Каждое обращение выделяет новый TBitmap и копирует пиксели — не вызывайте его в плотных циклах рендеринга; при повторном использовании кэшируйте растровое изображение. Освобождайте каждый возвращённый bitmap по завершении, чтобы своевременно освободить ресурсы 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