ImageMagick的resize命令(mogrify)是否需要任何DLL?

时间:2013-08-16 03:34:36

标签: dll imagemagick static-libraries imagemagick-convert

downloaded在项目中使用的无安装程序版本的ImageMagick(ImageMagick-6.8.6-8-Q16-x86-windows.zip),但它在123MB时非常大。

我只需要mogrify.exe来进行简单的图像调整大小。我将它复制到一个单独的目录,它运行正常,但我不确定我是否已经有一些必需的DLL(用户可能没有这些)。

我在mogrify上运行Process Explorer,但它说图像没有使用DLL。

这是正确的还是我还需要包括其中任何一个?

atl100.dll mfc100.dll msvcp100.dll msvcr100.dll vcomp100.dll X11.dll Xext.dll

(zip文件中的完整列表)

我相信vcomp100.dll是Visual C ++可再发行组件的一部分,所以我想我应该包含它,以防用户机器上没有安装?

另一方面,X11.dll looks unnecessary

除了研究每个DLL之外,还有更简单的方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

vcomp100.dll库是在mogrify.exe内调整大小的唯一依赖项。为安全起见,您应该将该DLL重新分发到与可执行文件相同的目录中。

  

除了研究每个DLL之外,还有更简单的方法来解决这个问题吗?

我无法回答最简单的方法(在阅读每个库文档之外),但我强烈建议创作unit test 确保满足您要求的所有期望功能。我能够在XP的vanilla安装上运行测试套件(通过VirtualBox),并确认调整PNG,JPEG和基本drawing的大小没有额外的依赖关系。

答案 1 :(得分:0)

要在Windows上发现可执行文件和dll依赖项,可以使用DependencyWalker(免费工具)。 ProcessExplorer仅告诉您在检查它的特定时刻由进程加载哪些DLL。 DLL可以根据需要加载或根本不加载,具体取决于可执行文件的需要,因此DependencyWalker可以在更多情况下为您提供帮助。