PDFium Delphi Component 文件

Bitmap 属性

组件: TPdf  ·  单元: PDFium
返回一个新解码的 VCL TBitmap,其中包含当前页面指定图像对象的光栅数据。每次调用都会新分配位图;调用方拥有该对象并负责调用 Free

Syntax

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

Index当前页面上基于 0 的图像索引,范围为 0 到 BitmapCount - 1

Description

Bitmap 返回一个 TBitmap,其中包含当前页面上第 n 个光栅图像的像素数据。PDFium 解码底层流 (JPEG、JPEG2000、CCITT、JBIG2 或 FlateDecode 像素数据),PDFium Delphi Component 将 结果转换为 VCL TBitmap,使用图像存储的分辨率,并在源提供软掩码时 将 alpha 保留为 32 位 ARGB 表面

每次调用都会分配一个新的位图;该属性不会缓存。这使得 该属性可以安全地从工作线程调用,但意味着调用方必须始终释放 返回的对象,通常在 try .. finally 块内

当你还需要图像在页面上的变换矩阵和边界矩形时, 请改用 Image[Index] — 它返回一个将相同的 TBitmap 与位置元数据打包在一起的记录。与形状无关的 同级属性 ObjectBitmap[ObjectIndex] 索引到 完整的页面对象数组(混合文本、路径、图像),并在目标对象恰好是图像时 返回相同的位图

Remarks

Example

// 将当前页面上的每个图像导出为编号的 BMP 文件
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