PDFium Delphi Component Docs

GetImageObjectRenderedBitmap metod

Component: TPdf  ·  Unit: PDFium
Renderar ett bildsidobjekt för sig självt och returnerar de avkodade pixlarna som en bitmap ägd av anroparen

Syntax

function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;

IndexInteger. Nollbaserat index för ett bildsidobjekt, i intervallet 0 .. ObjectCount - 1. Ett objekt av annan typ utlöser en EPdfError (Image object required).
ResultTBitmap. En nyskapad bitmap som anroparen äger och måste frigöra, eller nil när det nativa anropet inte ger någon bitmap.

Description

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

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