我已经安装了 ImageMagick 和 GraphicsMagick。我可以从命令行自由使用它们,因为它们具有不同的命令命名空间(所有 ImageMagick 命令都是gm
GraphicsMagick 命令的参数)。从命令行:
convert ...
使用 ImageMagickgm convert ...
使用 GraphicsMagick
这一切都很好。但是,似乎两个程序的 COM 对象被相同地调用:
Set img = CreateObject("ImageMagickObject.MagickImage.1")
创建一个 ImageMagick 对象Set img = CreateObject("ImageMagickObject.MagickImage.1")
创建一个 GraphicsMagick 对象...难以置信,但这直接来自 GraphicsMagickSimpleTest.vbs
示例脚本
如何指定要使用的 COM 对象?还是我运气不好?
编辑:我刚刚比较了 ImageMagick 和 GraphicsMagick 中包含的示例 VBS 脚本,它们都名为 SimpleTest.vbs。事实证明,它们比文件名有更多的共同点。它们几乎是相同的文件。这本身可能意义不大(毕竟,GM 是从 IM 派生的),但我开始怀疑 GraphicsMagick 是否真的有一个 COM 对象,或者它们是否只是将 ImageMagick 的 COM 对象包含在他们的 Windows 二进制文件中。