AddImageFromFileOffset
图像处理
描述
从文件的一部分向所选文档添加图像
例如,如果许多图像已连接到一个文件中,此函数可将各个图像提取出来并添加到文档中
图像添加到文档后,可在任意页面上多次绘制,而不会进一步增加 PDF 文件大小
支持的图像文件类型包括:BMP、TIFF、JPEG、PNG、GIF、WMF 和 EMF
PDF 版本行为:导入每分量 16 位的图像数据需要 PDF 1.5。文档设为 PDF 1.4 或更低版本且未锁定保存版本时,AddImageFromFileOffset 会自动将文档提升到 PDF 1.5,并将 16-bit image samples 记录在 AutoBumpedFeatures 中。若调用者锁定较低的保存版本,兼容性门控会以 LastErrorCode 602 拒绝保存
对于 BMP 和 TIFF 图像,可在调用此函数前调用 CompressImages 函数以压缩图像数据。其他图像类型会自动压缩
语法
Delphi
Function TPDFlib.AddImageFromFileOffset(Const FileName: WideString; Offset, DataLength, Options: Integer): Integer;
ActiveX
Function PDFlib::AddImageFromFileOffset(FileName As String, Offset As Long, DataLength As Long, Options As Long) As Long
DLL
int DLAddImageFromFileOffset(int InstanceID, const wchar_t * FileName, int Offset, int DataLength, int Options);
参数
| FileName | 包含图像的文件名称 |
|---|---|
| Offset | 所需图像在文件中开始位置的偏移量。文件中第一个字节偏移量为 0 |
| DataLength | 图像数据的字节长度 |
| Options | 对于多页 TIFF 图像,此参数指定要加载的页码,对于 PNG 图像:0 = 按常规加载图像;1 = 将 Alpha 通道作为灰度图像加载;2 = 加载图像和 Alpha 通道(将 Alpha 限制为 8 位);3 = 加载图像(每通道限制为 8 位);4 = 加载 Alpha 通道(每通道限制为 8 位);5 = 加载带 Alpha 通道的图像(两者均限制为每通道 8 位);6 = 加载图像和 Alpha 通道;7 = 加载图像和 ICC 颜色配置文件,对于其他图像类型,应将此参数设为 0,将 Options 设为 -1 会强制使用 GDI+ 图形库加载 TIFF、EMF 和 WMF 图像,也可将 Options 参数设为 -PageNumber 以使用 GDI+ 加载多页 TIFF 图像(例如第 3 页为 -3) |
返回值
| 0 | 无法从文件读取图像。这可能表示图像数据无效或找不到文件 |
|---|---|
| Non-zero | 已从文件读取图像并成功添加至文档。返回值是图像 ID,可用于 DrawImage 等图像绘制函数 |