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. |
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.
nil quando Index está fora do intervalo ou quando o documento não está ativo.
// 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;