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



我下载了ImageMagick的无安装版本(ImageMagick6.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看起来没有必要。

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

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

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

我无法回答最简单的方法是什么(除了阅读每个库的文档),但我强烈建议编写一个单元测试以确保满足您需求的所有预期功能。我能够在XP的普通安装上运行一个测试套件(通过VirtualBox),并确认调整PNG、JPEG和基本绘图的大小不需要额外的依赖性。

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

最新更新