PDFium Delphi Component Docs

Bitmap Propriedade

Componente: TPdf  ·  Unidade: PDFium
Retorna um VCL TBitmap recém decodificado que contém os dados raster do objeto de imagem especificado na página atual. O bitmap é alocado novamente a cada chamada; a propriedade do objeto fica com o chamador, que é responsável por chamar Free

Syntax

property Bitmap[Index: Integer]: TBitmap; // read only

IndexÍndice de imagem baseado em zero na página atual, no intervalo de 0 a BitmapCount - 1.

Description

Bitmap retorna um TBitmap contendo os dados de pixel da n-ésima imagem raster na página atual. O PDFium decodifica o stream subjacente (JPEG, JPEG2000, CCITT, JBIG2 ou dados de pixel FlateDecode) e o PDFium Delphi Component converte o resultado em um TBitmap da VCL na resolução armazenada da imagem, com o alfa preservado como uma superfície ARGB de 32 bits quando a origem fornece uma soft mask.

Cada chamada aloca um bitmap novo; a propriedade não faz cache. Isso torna a propriedade segura para chamar de threads de trabalho, mas significa que os chamadores devem sempre liberar o objeto retornado, tipicamente dentro de um bloco try .. finally.

Quando você também precisa da matriz de transformação e do retângulo delimitador da imagem na página, use Image[Index] em vez disso — ele retorna um record que agrupa o mesmo TBitmap com metadados posicionais. O irmão independente de forma ObjectBitmap[ObjectIndex] indexa o array completo de objetos de página (texto, caminhos e imagens misturados) e retorna o mesmo bitmap se o objeto visado por acaso for uma imagem.

Remarks

Example

// Export every image on the current page as numbered BMP files
var
  I: Integer;
  Bmp: TBitmap;
begin
  for I := 0 to Pdf.BitmapCount - 1 do
  begin
    Bmp := Pdf.Bitmap[I];
    try
      Bmp.SaveToFile(Format('page_%d_img_%d.bmp', [Pdf.PageNumber, I]));
    finally
      Bmp.Free;
    end;
  end;
end;

See Also

BitmapCount, Image, ImageCount, ObjectBitmap