function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;
| Index | Integer. Index obrazového objektu strany založený na nule, v rozsahu 0 .. ObjectCount - 1. Objekt iného typu vyvolá EPdfError (Image object required) |
| Result | TBitmap. Novovytvorená bitmapa, ktorú volajúci vlastní a musí uvoľniť, alebo nil, keď natívne volanie nevyprodukuje žiadnu bitmapu |
Vykreslí práve ten obrazový objekt cez natívny renderer (FPDFImageObj_GetRenderedBitmap) s jeho aktuálnou maticou, farebným priestorom a maskami — výsledok ukazuje obraz tak, ako ho ukazuje strana, vrátane mäkkých masiek, šablónových kľúčov a farebných konverzií, ktoré nenesú surové vzorky dostupné cez Image
Počas natívneho volania je držaný zámok vykresľovania, takže volanie je bezpečné voči súbežnému vykresľovaniu na tej istej komponente. Natívna bitmapa sa skonvertuje a zničí pred návratom; výsledná TBitmap patrí volajúcemu
Volanie vyžaduje aktívnu aktuálnu stranu, objekt na Index typu otImage (skontrolujte ObjectType) a zostavenie PDFium, ktoré exportuje vstupný bod vykresľovania jednotlivých obrazov; inak sa vyvolá EPdfError (Rendered image object bitmaps are not available)
Výsledok nil nie je podmienkou prerušenia: keď natívne volanie nevydá bitmapu, volajúci môže namiesto toho orezať vykreslenie celej strany podľa hraníc z 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;