PDFium Delphi Component 文件

AddImage 方法

组件: TPdf  ·  单元: PDFium
将文件中的图像插入当前 PDF 页面。内部使用 TPicture.LoadFromFile,因此接受向 VCL 或 LCL 图形单元注册的任何图像格式(BMP、通过 Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic 的 PNG、JPG 等)。坐标位于 PDF 用户空间(原点在页面左下角);Width 和 Height 是以用户单位表示的放置尺寸,而不是源图像的像素大小

语法

procedure AddImage(const FileName: string; X, Y, Width, Height: Double);

FileNamestring。图像文件的完整路径。接受向 VCL/LCL 图形系统注册的任何格式(BMP、PNG、JPG 等)

 

procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);

BitmapTBitmap。一个 PixelFormat = pf32bit 的预加载位图。不得为 nil;否则抛出 EPdfError

说明

AddImage 以给定的位置和大小把图像放置到当前 PDF 页面上。有两个可用的重载:一个直接从文件路径加载图像,另一个接受预构建的 TBitmap 对象

基于文件的重载内部使用 TPicture.LoadFromFile,因此支持向 VCL 或 LCL 图形系统注册的任何图像格式——包括 BMP、PNG(通过 Vcl.Imaging.PngImage 或 LCL 等价物)、JPEG 等。只需确保在调用此方法之前,相关单元已包含在项目的 uses 子句中

位图重载接受 PixelFormat = pf32bit 的 TBitmap。当位图已在内存中(例如来自离屏渲染步骤)时很有用,并避免了经过磁盘或 TPicture 的往返。传入 nil 位图会抛出 EPdfError 异常

X 和 Y 参数以 PDF 用户单位指定图像放置矩形的左下角(原点在页面左下角,Y 向上递增)。Width 和 Height 控制页面上的渲染尺寸;无论像素分辨率如何,源图像都会缩放以适配这些尺寸

示例

// Place a PNG file at (72, 600), rendered 200 x 150 pt on the page
Pdf1.NewPage(595, 842);
Pdf1.AddImage('C:\Images\logo.png', 72, 600, 200, 150);

// Add a pre-built 32-bit bitmap
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.PixelFormat := pf32bit;
    Bmp.LoadFromFile('C:\Images\photo.bmp');
    Pdf1.AddImage(Bmp, 72, 400, 300, 200);
  finally
    Bmp.Free;
  end;
end;

参见

AddPicture, AddJpegImage, AddText