function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream。包含原始 JPEG 压缩数据的流。调用此方法时,流位置应位于 JPEG 数据的开头 |
True。如果流不包含有效的 JPEG 数据或嵌入操作失败,则返回 FalseAddJpegImage 将以原始字节流形式提供的 JPEG 图像嵌入到当前 PDF 页面上。因为 JPEG 数据直接传递而不重新编码,图像质量会与源流中存储的完全一致。这使该方法非常适合大量文档生成场景,在这些场景中解码和重新压缩图像会带来不必要的质量损失或 CPU 开销
JpegImage 流必须包含从 SOI 标记开始的完整、有效的 JPEG 文件。调用此方法之前,流的当前位置应位于 JPEG 数据的开头。接受任何 TStream 后代——TFileStream、TMemoryStream、数据库 blob 流等
X 和 Y 参数以 PDF 用户单位指定放置矩形的左下角(原点在页面左下角,Y 向上递增)。Width 和 Height 设置页面上的渲染尺寸;无论像素尺寸如何,JPEG 都会缩放以适配
方法成功时返回 True。如果流不包含有效的 JPEG 数据,它会返回 False 而不抛出异常,因此处理来源不确定的数据时,调用方应检查返回值
var
Stream: TFileStream;
begin
Stream := TFileStream.Create('C:\Images\photo.jpg', fmOpenRead or fmShareDenyNone);
try
Pdf1.NewPage(595, 842);
if not Pdf1.AddJpegImage(Stream, 72, 400, 300, 225) then
ShowMessage('Failed to embed JPEG image.');
finally
Stream.Free;
end;
end;