複数のファイルで ImageMagick mogrify を実行すると、奇妙な問題が発生します。変換文字列を使用して、画像をいくつか変換し、サムネイルを作成します。変換文字列を使用したコマンドは、単一のファイルでは問題なく実行されますが、ファイルのバッチで実行すると失敗することがあります。コマンドは次のとおりです(Windowsコマンドライン):
"C:\Program Files\ImageMagick-6.3.5-Q16\mogrify" \
-format jpg \
-thumbnail 400x400">" \
-background white \
-gravity center \
-extent 400x400 \
-draw "image src-over 0,0 0,0 '//dell1/Oracle/files/watermark.png'" \
-path \\dell1\Oracle\files\pictures\cj4uoveomiggda97kmqttn0400 \
\\dell1\Oracle\files\pictures\59\59p5huflk2cnv9drf3r1d65ef9_wc \
\\dell1\Oracle\files\pictures\7v\7vi3q26cdidk8bproslhhmlkab_wc \
\\dell1\Oracle\files\pictures\ft\ft0iqkjk08cli8k0iltgmdmfo5_wc
そして、 「mogrify: 不適合な描画プリミティブ定義 `image'」というメッセージで失敗します。
しかし、これはウォーターマークを挿入するときにのみ発生することがわかりました。また、処理する 3 つのファイルの順序を変更すると、mogrify が正常に動作することもわかりました。これはかなり奇妙です。なぜこれが起こるのか、それを取り除く方法はわかりません。
PS: Java アプリケーションからこのコマンドを実行するので、 convertコマンドを繰り返し呼び出してバッチ ファイルを使用することは、私にとって受け入れられる解決策ではありません。
手がかりをいただければ幸いです。