PDFium Delphi Component Docs

метод GetImageObjectRenderedBitmap

Компонент: TPdf  ·  Модул: PDFium
Рендира самостоятелно един page обект изображение и връща декодираните пиксели като bitmap в собственост на извикващия

Синтаксис

function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;

IndexInteger. Индекс на page обект изображение, броен от нула, в диапазона 0 .. ObjectCount - 1. Обект от друг тип вдига EPdfError (Image object required).
ResultTBitmap. Новосъздаден bitmap, който извикващият притежава и трябва да освободи, или nil, когато native извикването не произведе bitmap.

Описание

Рендира само този обект изображение през native рендерера (FPDFImageObj_GetRenderedBitmap) с приложени текущата му матрица, цветово пространство и маски — резултатът показва изображението така, както го показва страницата, включително soft masks, stencil ключове и цветови преобразувания, които суровите семпли, достъпни чрез Image, не носят

Рендериращият lock се държи за времето на native извикването, така че то е безопасно при едновременен рендер върху същия компонент. Native bitmap-ът се преобразува и унищожава преди връщането; полученият TBitmap принадлежи на извикващия

Извикването изисква текущата страница да е активна, обектът на Index да е от тип otImage (проверете ObjectType) и компилация на PDFium, която експортира входната точка за рендер на отделно изображение; в противен случай се вдига EPdfError (Rendered image object bitmaps are not available)

Резултат nil не е условие за прекъсване: когато native извикването не даде bitmap, извикващият може да се върне към изрязване на рендер на цялата страница с границите от ObjectBounds

Забележки

Пример

var
  Bmp: TBitmap;
begin
  if Pdf1.ObjectType[7] = otImage then
  begin
    Bmp := Pdf1.GetImageObjectRenderedBitmap(7);
    if Bmp <> nil then
      try
        Image1.Picture.Bitmap.Assign(Bmp);
        // use Bmp for export, comparison or recognition
      finally
        Bmp.Free;
      end;
  end;
end;

Виж също

GetTextObjectRenderedBitmap, ObjectBitmap, ObjectType, ObjectBounds, ImageInfo