PDFium Delphi Component Docs

Método GetImageObjectRenderedBitmap

Componente: TPdf  ·  Unidade: PDFium
Renderiza um objeto de página de imagem sozinho e devolve os píxeis descodificados num bitmap da propriedade do chamador

Syntax

function GetImageObjectRenderedBitmap(Index: Integer): TBitmap;

IndexInteger. Índice de base zero de um objeto de página de imagem, no intervalo 0 .. ObjectCount - 1. Um objeto de outro tipo gera um EPdfError (Image object required).
ResultTBitmap. Um bitmap recém-criado, da propriedade do chamador e por este libertado, ou nil quando a chamada nativa não produz bitmap.

Description

Renderiza apenas esse objeto de imagem através do renderizador nativo (FPDFImageObj_GetRenderedBitmap), com a matriz, o espaço de cor e as máscaras atuais aplicados — o resultado mostra a imagem tal como a página a mostra, incluindo soft masks, chaves de estêncil e conversões de cor, que as amostras brutas disponíveis através de Image não transportam

O lock de renderização é mantido durante a chamada nativa, pelo que é seguro perante renderizações concorrentes no mesmo componente. O bitmap nativo é convertido e destruído antes do retorno; o TBitmap resultante pertence ao chamador

A chamada exige que a página atual esteja ativa, que o objeto em Index seja do tipo otImage (verifique ObjectType) e uma compilação do PDFium que exporte o ponto de entrada de renderização por imagem; caso contrário é gerado um EPdfError (Rendered image object bitmaps are not available)

Um resultado nil não é uma condição de aborto: quando a chamada nativa não produz bitmap, o chamador pode recorrer ao recorte de uma renderização de página inteira com os limites de 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