AddImageFromString

图像处理

描述

从内存向所选文档添加图像

图像添加到文档后,可在任意页面上多次绘制,而不会进一步增加 PDF 文件大小

支持的图像文件类型包括 BMP、TIFF、JPEG、PNG、GIF、WMF、EMF 和 WebP;在有现代图像解码器时还包括 AVIF、HEIF、HEIC 和 JPEG XL

PDF 版本行为:导入每分量 16 位的图像数据要求 PDF 1.5。当文档设置为 PDF 1.4 或更低版本且保存版本未锁定时,AddImageFromString 会自动将文档提升到 PDF 1.5,记录功能为 16-bit image samples,并将其写入 AutoBumpedFeatures。如果调用方锁定了较低的保存版本,兼容性门控会拒绝保存并设置 LastErrorCode 602

对于 BMP 和 TIFF 图像,可在调用此函数前调用 CompressImages 函数以压缩图像数据。其他图像类型会自动压缩

语法

Delphi

Function TPDFlib.AddImageFromString(Const Source: AnsiString; Options: Integer): Integer;

DLL

int DLAddImageFromString(int InstanceID, const char * Source, int Options);

参数

Source包含图像数据的字符串,在库的 ActiveX 版本中,此字符串必须包含 16 位字符,每个字符仅使用低 8 位
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图像数据无效,或图像采用不受支持的格式。图像已成功添加。返回值为 ImageID,可用于 SelectImage 和 DrawImage 等函数
1