SetModernImageCodecLibrary
图像处理、配置、本机编解码器
说明
设置现代图像解码所用的原生 MagickWand 库文件或目录
语法
Function TPDFlib.SetModernImageCodecLibrary(
Const FileNameOrDirectory: WideString): Integer;
参数
| FileNameOrDirectory | 完整本机库路径,或包含库及其依赖项的目录 |
|---|
返回值
| 1 | 在编解码器模块加载前已接受该路径 |
|---|---|
| 0 | 编解码器模块已加载,其路径在进程生命周期内不可变 |
备注
在调用 ModernImageCodecAvailable 或导入现代图像前配置路径,因为任一操作都可能加载该模块
如果参数是包含 modules\coders 的可移植库目录,加载器会为该进程提供原本未设置的 MAGICK_HOME、MAGICK_CONFIGURE_PATH 和 MAGICK_CODER_MODULE_PATH 值
未设置显式路径时,加载器会检查 PDFLIB_MODERN_IMAGE_CODEC、可执行文件目录和平台库名称
应用程序也可调用 RegisterModernImageDecoderBackend(来自 PDFlibModernImage),并传入返回完全定向 PNG 流的解码器回调
PDFlibModernImage 单元的函数
PDFlibModernImage 单元把上述方法背后的编解码管线以独立函数的形式暴露出来,供直接驱动解码器的应用程序使用
DetermineModernImageFormat | 侦测流头部并报告 mifAVIF、mifHEIF、mifJPEGXL 或 mifUnknown |
|---|---|
ModernImageFormatName | 返回人类可读的格式名称(AVIF、HEIF、JPEG XL 或 Unknown) |
SetModernImageCodecLibraryPath | 本方法的单元级版本;进程一旦加载了编解码模块,再调用即返回 False |
RegisterModernImageDecoderBackend | 安装一个 TPDFlibModernImageDecodeCallback,接收输入流、格式和 ApplyOrientation 标志,并必须写出完全校正方向的 PNG 流;它优先于原生编解码模块 |
ClearModernImageDecoderBackend | 移除已注册的回调(等价于注册 nil) |
ModernImageCodecAvailable | 尝试一次性的编解码模块加载并报告原生解码是否可用;同名的 TPDFlib 方法封装的就是这个检查 |
DecodeModernImageToPNG | 通过已注册的回调解码一幅图像,没有注册回调时走原生编解码模块;ApplyOrientation 默认为 True |