有没有办法区分ImageMagick和GraphicsMagick COM对象?

有没有办法区分ImageMagick和GraphicsMagick COM对象?,com,imagemagick,graphicsmagick,Com,Imagemagick,Graphicsmagick,我已经安装了ImageMagick和GraphicsMagick。我可以从命令行自由使用这两个命令,因为它们具有不同的命令名称空间(所有ImageMagick命令都是gmGraphicsMagick命令的参数)。从命令行: 转换…使用ImageMagick gm convert…使用GraphicsMagick 一切正常。但是,两个程序的COM对象似乎被相同地调用: Set img=CreateObject(“ImageMagickObject.MagickImage.1”)创建一个Ima

我已经安装了ImageMagick和GraphicsMagick。我可以从命令行自由使用这两个命令,因为它们具有不同的命令名称空间(所有ImageMagick命令都是
gm
GraphicsMagick命令的参数)。从命令行:

  • 转换…
    使用ImageMagick
  • gm convert…
    使用GraphicsMagick
一切正常。但是,两个程序的COM对象似乎被相同地调用:

  • Set img=CreateObject(“ImageMagickObject.MagickImage.1”)
    创建一个ImageMagick对象
  • Set img=CreateObject(“ImageMagickObject.MagickImage.1”)
    创建一个GraphicsMagick对象。。。很难相信,但这直接来自GraphicsMagick
    SimpleTest.vbs
    示例脚本
如何指定要使用的COM对象?还是我运气不好


编辑:我刚刚比较了ImageMagick和GraphicsMagick附带的示例VBS脚本,它们都名为SimpleTest.VBS。事实证明,它们的共同点比文件名更多。它们几乎是相同的文件。这本身可能意义不大(毕竟,GM是从IM中派生出来的),但我开始怀疑GraphicsMagick是否真的有COM对象,或者他们是否只是在Windows二进制文件中包含ImageMagick的COM对象。

我在GraphicsMagick邮件列表中问了这个问题:Bob Friesenahn的部分回答如下:

我同意这令人困惑。 GraphicsMagick确实提供了一个COM 对象历史很有趣。 原始ImageMagickObject是 在GraphicsMagick下开发 项目由与 原始ImageMagickObject。这个 当前ImageMagickObject为 在GraphicsMagick下开发 保留项目和比尔·拉德克利夫 原名

我不知道如何具体说明 使用特定的ImageMagickObject COM实现,如果两者都是 注册的。甚至有可能 在下注册两个COM对象 同一个名字

至于能分辨出哪一个 在运行时使用,似乎 传递参数'-version'可能会 用于返回一些有用的信息


如果我正确理解COM,我相信这基本上意味着最近注册的任何库——ImageMagick或GraphicsMagick——都将是从代码中调用的库。

我在GraphicsMagick邮件列表中问了这个问题:以下是Bob Friesenahn的部分回答:

我同意这令人困惑。 GraphicsMagick确实提供了一个COM 对象历史很有趣。 原始ImageMagickObject是 在GraphicsMagick下开发 项目由与 原始ImageMagickObject。这个 当前ImageMagickObject为 在GraphicsMagick下开发 保留项目和比尔·拉德克利夫 原名

我不知道如何具体说明 使用特定的ImageMagickObject COM实现,如果两者都是 注册的。甚至有可能 在下注册两个COM对象 同一个名字

至于能分辨出哪一个 在运行时使用,似乎 传递参数'-version'可能会 用于返回一些有用的信息


如果我正确理解COM,我相信这基本上意味着最近注册的任何库——ImageMagick或GraphicsMagick——都将是从代码中调用的库。

同意,这是难以置信的。COM程序不是那样工作的。您需要提供一个url以让任何人查看它。我找不到指向SimpleTest.vbs的直接链接,但以下是指向描述GraphicsMagick COM对象的页面的链接:我刚刚查看了ImageMagick COM对象页面:。它们引用相同的SimpleTest.vbs。所以我比较了这两个文件——GraphicsMagick中的SimpleTest.vbs和ImageMagick中的SimpleTest.vbs——它们几乎完全相同。同意,这是难以置信的。COM程序不是那样工作的。您需要提供一个url以让任何人查看它。我找不到指向SimpleTest.vbs的直接链接,但以下是指向描述GraphicsMagick COM对象的页面的链接:我刚刚查看了ImageMagick COM对象页面:。它们引用相同的SimpleTest.vbs。所以我比较了两个文件——GraphicsMagick中的SimpleTest.vbs和ImageMagick中的SimpleTest.vbs——它们几乎完全相同。