PDFium Delphi Component Docs

GetImageObjectRenderedBitmap metódus

Komponens: TPdf  ·  Egység: PDFium
Egyetlen képoldalobjektumot renderel le önállóan, és a dekódolt pixeleket a hívó tulajdonában lévő bitképként adja vissza

Syntax

function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;

IndexInteger. Egy képoldalobjektum nulla alapú indexe, a 0 .. ObjectCount - 1 tartományban. Más típusú objektum esetén EPdfError kivétel váltódik ki (Image object required)
ResultTBitmap. Egy újonnan létrehozott bitkép, amelynek tulajdonosa a hívó, és amelyet fel kell szabadítania, vagy nil, ha a natív hívás bitképet nem eredményez

Description

Csak az adott képobjektumot rendereli le a natív renderelőn keresztül (FPDFImageObj_GetRenderedBitmap), a jelenlegi mátrixával, színterével és maszkjaival együtt — az eredmény úgy mutatja a képet, ahogy az oldal megjeleníti, ideértve a soft maszkokat, stencilkulcsokat és színkonverziókat, amelyeket az Image tulajdonságon keresztül elérhető nyers minták nem hordoznak

A natív hívás idejére a renderelési zár birtokában van, így a komponensen futó párhuzamos rendereléssel szemben biztonságos. A natív bitkép átalakításra és megsemmisítésre kerül, mielőtt a metódus visszatérne; az eredő TBitmap a hívóé

A híváshoz az aktuális oldalnak aktívnak kell lennie, a Index helyen álló objektumnak otImage típusúnak (ellenőrizze az ObjectType tulajdonsággal), valamint olyan PDFium buildnek, amely exportálja az objektumonkénti renderelési belépési pontot; egyébként EPdfError kivétel váltódik ki (Rendered image object bitmaps are not available)

A nil eredmény nem megszakítási feltétel: ha a natív hívás bitképet nem ad, a hívó tartalékként levághat egy teljes oldalas renderelést az ObjectBounds által szolgáltatott határokkal

Remarks

Example

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;

See Also

GetTextObjectRenderedBitmap, ObjectBitmap, ObjectType, ObjectBounds, ImageInfo