2016-11-23 6 views
0

Windows上でImageMagickのコマンドライン定義を使用して、数百色の四角形を空白の画像(ヒストグラム)に追加しています。コマンドの長さが8192文字の制限を超えています。私は何百ものコマンドを持っています:ImageMagickコマンドラインの文字数制限

-fill rgb(188,161,161) -draw "rectangle 1,106 4,19" 

ImageMagickのドキュメントでは、いくつかのコマンドをファイルに入れて読み込むことができます。テストするとき、これらは同じコマンドタイプでなければなりません。つまり、drawコマンド用のファイルとfillコマンド用のファイルを作成します。しかし、適切なfillコマンドが関連するdrawコマンドにリンクされていないため、着色は機能しません。

magick -size 1920x108 xc:white -fill @fill.txt -draw @draw.txt hist.png 

誰かが回避策やその他のオプションを認識していますか?私は、Windowsのバッチファイルでコマンドが動作するかもしれないと思ったが、これも8192文字で制限されているようだ。ここで

+0

これはほんのプログラミングの問題(IMHO)にすぎません。あなたはImageMagick特有の開発者/ユーザーフォーラムを探しているほうがいいかもしれません。あなたが記述していることは、他のユーザーが不満を抱いているようなバグと思われるので、開発フォーラムをチェックしてください。たぶんオムニバスのオプション '-all_cmds'などがありますか?がんばろう! – shellter

答えて

0

MS linkからの抜粋です:Microsoft Windows XPを実行しているコンピュータで

以降、コマンドプロンプトで使用できる文字列の最大長 は8191 文字です。 Microsoft Windows 2000またはWindows NT 4.0を実行しているコンピュータでは、コマンドプロンプトで使用できる文字列の最大長は2047文字です。

基本的には、コマンドラインの制限ですが、イメージ・マジックではありません。タスクを2つに分割し、これらの2つのステップで生成された2つのイメージを1つの結果イメージに結合することは可能ですか?

+0

はい、今すぐに段階的に行ってください。私はコマンドラインの一般的な回避策があるかもしれないと思った。 –

1

あなたが見つけるかもしれない魔術ベクターグラフィックス(MVG)より良いスーツのニーズいる:

convert -size 1920x1080 xc:gray90 -draw @draw.txt result.png 

enter image description here

ファイルdraw.txtが含まれています:

fill cyan rectangle 10,10 1800,400 
fill magenta rectangle 10,450 1750,800 
fill yellow rectangle 10,850 1850,1000 

は、いくつかの優れたありますAnthony Thyssen hereの例とavailabの仕様le描画プリミティブhere

関連する問題