function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;
| Index | Integer. Nollbaserat index för ett bildsidobjekt, i intervallet 0 .. ObjectCount - 1. Ett objekt av annan typ utlöser en EPdfError (Image object required). |
| Result | TBitmap. En nyskapad bitmap som anroparen äger och måste frigöra, eller nil när det nativa anropet inte ger någon bitmap. |
Renderar bara den bildobjektet via den nativa renderaren (FPDFImageObj_GetRenderedBitmap) med dess aktuella matris, färgrymd och maskar tillämpade — resultatet visar bilden som sidan visar den, inklusive soft masks, stencilnycklar och färgkonverteringar, vilket de råa samplingar som finns via Image inte bär med sig
Renderingslåset hålls under det nativa anropet, så det är säkert mot samtidig rendering i samma komponent. Den nativa bitmappen konverteras och förstörs innan retur; den resulterande TBitmap tillhör anroparen
Anropet kräver att den aktuella sidan är aktiv, att objektet på Index är av typen otImage (kolla ObjectType), och ett PDFium-bygge som exporterar renderingsstartpunkten per bild; annars utlöses en EPdfError (Rendered image object bitmaps are not available)
Ett nil-resultat är inget avbrottsvillkor: ger det nativa anropet ingen bitmap kan anroparen falla tillbaka på att beskära en helsidesrendering med gränserna från 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;