function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;
| Index | Integer. Nullbasert indeks for et bildesideobjekt, i området 0 .. ObjectCount - 1. Et objekt av en annen type utløser en EPdfError (Image object required) |
| Result | TBitmap. En nyopprettet bitmap som kalleren eier og må frigjøre, eller nil når det native kallet ikke produserer noen bitmap |
Renderer bare dette bildeobjektet gjennom den native rendereren (FPDFImageObj_GetRenderedBitmap) med dets gjeldende matrise, fargerom og masker anvendt — resultatet viser bildet slik siden viser det, inkludert myke masker, stencilnøkler og fargekonverteringer, noe de rå samplene som er tilgjengelige via Image, ikke bærer med seg
Renderlåsen holdes under det native kallet, så det er trygt mot samtidig rendering på samme komponent. Den native bitmapen konverteres og frigjøres før retur; den resulterende TBitmap-en tilhører kalleren
Kallet krever at gjeldende side er aktiv, at objektet på Index er av typen otImage (sjekk ObjectType), og et PDFium-bygg som eksporterer inngangspunktet for rendering per bilde; ellers utløses en EPdfError (Rendered image object bitmaps are not available)
Et nil-resultat er ikke en tilstand det bør avbrytes på: når det native kallet ikke gir noen bitmap, kan kalleren falle tilbake til å beskjære en fullside-rendering med grensene fra 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;