procedure AddImage(const FileName: string; X, Y, Width, Height: Double);
| FileName | string。图像文件的完整路径。接受向 VCL/LCL 图形系统注册的任何格式(BMP、PNG、JPG 等) |
procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);
| Bitmap | TBitmap。一个 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;