function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;
| Index | Integer. 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) |
| Result | TBitmap. 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 |
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
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;