3

ColdFusion には、完全に機能する優れた cfimage タグがあります。ただし、ベクトル形式を操作することはできません。これにより、「イメージマジック」を行うためのサードパーティツールを探し続けました。

ColdFusion で ImageMagick を試すことにしました。「ColdFusion の ImageMagick を X 年間使用していた」という投稿をいくつか読みました。これは刺激的ですが、問題にぶつかったときには特に役に立ちません。

私は次のことを試しました:

  1. コマンドライン 'convert' コマンドを実行するための引数を指定して cfexecute を実行します。ColdFusion ページは何も生成しません。空のページだけです。画像は変換されません。例外やテキストがブラウザに送信されることはありません。ImageMagick コマンド 'convert image.eps image.jpg' は、Windows コマンド ラインからは完全に実行されますが、ColdFusion からは実行されません。

  2. IM コマンドを Java オブジェクトから直接実行するための Im4java および JMagick ラッパー。CreateObject 関数を使用して Java オブジェクトを作成し、そのメソッドを実行しようとしましたが、「image.jpg を整数に変換できません」などのさまざまな種類の Java エラーしか発生しませんでした。

どんな提案でも大歓迎です。

ありがとう!

PS: 私の最初の「stackoverflow」:)

4

3 に答える 3

5

何度か試行錯誤した後、私は ImageMagick (IM) を機能させました。Coldfusion の ImageMagick を使用する方法を簡単に説明します。

  1. ボックスに ImageMagick と Ghostscript をインストールします。Ghostscript は、ベクター グラフィックスの操作に使用されます。
  2. CFEXECUTE タグを使用して、パラメーターを指定して IM を呼び出します。

    <cfexecute name="#FullIMPath#" timeout="60" arguments="""#ExpandPath(filename1)#"" ""#ExpandPath(filename2)#""" />

コメント:

を。「name」属性には、ImageMagic の実行可能ファイル (convert.exe など) のいずれかへのフル パスを記述します。

b. ソース イメージとターゲット イメージのフル パスを記述します。追加の引用符に注意してください。フル パスにスペースが含まれる場合 (C:\Program Files)、各イメージ名を引用符で囲む必要があります。Coldfusion は「引数」属性を解析するため、""C:\Program Files\"" のように、引用符を追加して引用符を選別する必要があります。

c. タイムアウト属性を使用して、Coldfusion がさらにテンプレートを実行する前に、ImageMagic が結果を生成する時間を確保します。

回答と関心をお寄せいただきありがとうございます。

PS: 追加のヒント:

  • ImageMagick は、通常の JPEG から Photoshop の *.psd ファイルまで、使用できる多くの形式を提供します。ただし、Encapsulated Postscript *.eps のようなベクター形式の場合は、Ghostscript をインストールする必要があります。
  • Adobe PDF および Adob​​e Illustrator (*.ai) 形式を小さなハックで使用することができます - それらの名前を *.eps に変更し、ImageMagick に Encapsulated Postscript ベクター ファイルのように処理させます。これにより、少なくともベクター ファイルをビットマップに変換できます。
  • プロセスはリソースを集中的に使用するため、Coldfusion の JVM メモリ制限を増やすことを検討してください。
于 2009-04-28T12:01:46.097 に答える
0

cfexecute が動作するはずです。

于 2009-04-16T00:01:27.567 に答える