2010-11-19 19 views
1

ImageMagickとGraphicsMagickの両方がインストールされています。私はコマンドラインから自由に使うことができます。それらは異なるコマンド名前空間を持っています(ImageMagickコマンドはすべてGraphicsMagickコマンドgmのパラメータです)。コマンドラインから:ImageMagickとGraphicsMagick COMオブジェクトを区別する方法はありますか?

  • convert ... ImageMagickの
  • gm convert ...を使用して、すべてが正常に動作しますGraphicsMagickの

を使用しています。しかし、両方のプログラムのCOMオブジェクトが同じように呼び出されていることを表示されます。

  • Set img = CreateObject("ImageMagickObject.MagickImage.1")はImageMagickのオブジェクト
  • Set img = CreateObject("ImageMagickObject.MagickImage.1")は信じがたい... GraphicsMagickのオブジェクトを作成しますが、これはストレートGraphicsMagickのSimpleTest.vbsサンプルスクリプトからである作成します

使用するCOMオブジェクトを指定する方法を教えてください。または私は幸運の外ですか?

EDIT: ImageMagickとGraphicsMagickに含まれているサンプルVBSスクリプト(両方ともSimpleTest.vbs)を比較しました。彼らはファイル名よりも共通していることが分かります。彼らはほぼ同じファイルです。これは、あまり意味がないかもしれないが(結局のところ、GMがIMから分かれていた)、私はGraphicsMagickが実際にCOMオブジェクトを持っているのか、ImageMagickのCOMオブジェクトをWindowsバイナリに含めているのか不思議に思っている。

+0

合意しましたが、これは信じることは不可能です。 COM progidsはそのようには機能しません。誰かに見せるためのURLを提供する必要があります。 –

+0

SimpleTest.vbsへの直接リンクは見つかりませんでしたが、GraphicsMagickのCOMオブジェクトを記述するページへのリンクがあります:http://www.graphicsmagick.org/ImageMagickObject.html – mwolfe02

+0

私はちょうどImageMagick COMオブジェクトページ:http://www.imagemagick.org/script/ImageMagickObject.php。同じSimpleTest.vbsを参​​照しています。そこで、ImageMagickのGraphicsMagickのSimpleTest.vbsとImageMagickのSimpleTest.vbsの2つのファイルを比較しました。 – mwolfe02

答えて

1

私はGraphicsMagickのメーリングリストでこの質問をした:ここでWhy is the GraphicsMagick COM object called ImageMagick?がボブFriesenhahnの応答の一部です:

私はそれが混乱して同意します。 GraphicsMagickはCOM オブジェクトを提供しています。歴史は面白いです。 元のImageMagickObjectは、 元のImageMagickObjectと同じ著者によってGraphicsMagick プロジェクトの下で開発された でした。 現在のImageMagickObjectはGraphicsMagick プロジェクトで開発された で、元の名前は でした。

私は両方が を登録している場合、特定のImageMagickObject COMの実装を使用して を指定する方法を認識していないです。 同じ名前の の下に2つのCOMオブジェクトを登録することも可能ですか?

は限り1 は、実行時に使用されているか伝えることができることとして、 は、引数「-version」を渡す いくつかの有用な情報を返すために使用されるかもしれないようです。

私がCOMを正しく理解すれば、これは基本的に、最も最近に登録されたライブラリ(ImageMagickまたはGraphicsMagick)がコード内から呼び出されたライブラリであることを意味します。

関連する問題