AddImageFromFile
图像处理
描述
从文件向所选文档添加图像
图像添加到文档后,可在任意页面上多次绘制,而不会进一步增加 PDF 文件大小
支持的图像文件类型包括 BMP、TIFF、JPEG、PNG、GIF、WMF、EMF 和 WebP;在有现代图像解码器时还包括 AVIF、HEIF、HEIC 和 JPEG XL
PDF 版本行为:导入每分量 16 位的图像数据要求 PDF 1.5。当文档设置为 PDF 1.4 或更低版本且保存版本未锁定时,AddImageFromFile 会自动将文档提升到 PDF 1.5,记录功能为 16-bit image samples,并将其写入 AutoBumpedFeatures。如果调用方锁定了较低的保存版本,兼容性门控会拒绝保存并设置 LastErrorCode 602
对于 BMP 和 TIFF 图像,可在调用此函数前调用 CompressImages 函数以压缩图像数据。其他图像类型会自动压缩
语法
Delphi
Function TPDFlib.AddImageFromFile(Const FileName: WideString; Options: Integer): Integer;
ActiveX
Function PDFlib::AddImageFromFile(FileName As String, Options As Long) As Long
DLL
int DLAddImageFromFile(int InstanceID, const wchar_t * FileName, int Options);
参数
| FileName | 要添加的图像文件名 |
|---|---|
| Options | 对于多页 TIFF 图像,此参数指定加载页码,对于 PNG 图像:0 = 按常规加载;1 = 将 Alpha 通道作为灰度图像加载;2 = 加载图像和 Alpha 通道(Alpha 限制为 8 位);3 = 加载图像(限制为每通道 8 位);4 = 加载 Alpha 通道(限制为每通道 8 位);5 = 加载带 Alpha 通道的图像(两者限制为每通道 8 位);6 = 加载图像和 Alpha 通道;7 = 加载图像和 ICC 颜色配置文件;8 = 加载图像、Alpha 通道和 ICC 颜色配置文件并保留高位深度,对于其他图像类型应将此参数设为 0,将 Options 设为 -1 会强制使用 GDI+ 图形库加载 TIFF、EMF 和 WMF 图像,通过将 Options 设为 -PageNumber(例如第 3 页为 -3)也可使用 GDI+ 加载多页 TIFF 图像 |
返回值
| 0 | 无法添加图像。可能未找到图像,或其格式不受支持 |
|---|---|
| Non-zero | 图像已成功添加;返回的 ImageID 可传递给 SelectImage 和 DrawImage 等函数 |