我正在尝试将 ImageMagick 作为要在 Windows XP 机器上运行的应用程序的一部分进行分发。对 MagickReadImage 的调用返回 MagickFalse,尽管图像确实存在且没有损坏,并且来自 NewMagicWand 的 MagickWand 显然是有效的。此调用适用于安装了 ImageMagick 的机器。目标机器不会安装 ImageMagick 包;我们只想提供从 .bmp 转换为 .jpeg 所需的 .dll 文件。我们无法让这个工作,并假设我们错过了一块拼图。我们缺少配置步骤吗?换句话说,目标机器上需要什么?我们已将以下 dll 复制到 Windows\system32 目录:
- CORE_RL_bzlib_.dll
CORE_RL_jpeg_.dll
CORE_RL_Icms.dll
CORE_RL_magick_.dll
CORE_RL_ttf_.dll
CORE_RL_wand_.dll
CORE_RL_zlib_.dll
IM_MOD_RL_bmp_.dll
IM_MOD_RL_jpeg_.dll
mfc100.dll
msvcr100.dll
vcomp100.dll
X11.dll
有问题的代码是:
m_pMagick_wand=NewMagickWand();
m_mbStatus=MagickReadImage(m_pMagick_wand,fileName);
if (m_mbStatus == MagickFalse)
{
TRACE("MagickFalse 1\n");
return;
}