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

另请参阅

ModernImageCodecAvailable, AddModernImageFromFile