2016-06-22 15 views
0

テキストについてImageMagick documentationを読むと、@-の表記が標準入力の内容を読み取ることになります。ImageMagickでstdinをキャプション付きで使用する方法

このように、これはHello Worldをレンダリングするためのかなり簡単な方法です。 ImageMagickの6.9.4-3 Q16 x86_64版2016年5月20日:HomeBrew経由でOS X 10.11.5オン

printf "Hello\nWorld" | 
convert \ 
    -size 1280x100 \ 
    -background '#0000FF10' \ 
    -density 90 \ 
    -gravity Center \ 
    -fill black \ 
    -font Helvetica \ 
    caption:@- \ 
    test.png 

が、これは convertバージョンを使用して、動作します。

enter image description here

しかしUbuntuの16.04 LTSに、同じコマンドがconvertバージョン使用して、動作しません:ImageMagickの6.8.9-9 Q16 x86_64で2016年6月1日を。実際には、文字通りstdin演算子をレンダリングします。

enter image description here

私はリモートで見つけることができた唯一のことは、Googleでこの問題のように見えたのImageMagick 6.9.2-5ベータ版は、同様の問題を解決するパッチが適用された2015年10月にさかのぼる、this articleました。

QUESTION:私はそれを正しくエスケープいないです、本当にImageMagickのに問題がある、または私のLinuxディストリビューションはバグではImageMagickの歴史的なバージョンを拾っていると私はbuild from sourceする必要がありますか?多くの実験

解決しよう

後ずっと後


...?
UbuntuボックスのソースからImageMagick 7.0.2をビルドし、上記のコマンドを必要に応じて実行しました。よりよい解決策がありましたか?

+0

私の答えは問題を解決しましたか?もしそうなら、それをあなたの答えとして受け入れることを検討してください - 投票数の横にある緑色のチェックマーク/チェックマークをクリックしてください。そうでない場合は、私が、または他の誰かがあなたをさらに助けることができるように、何がうまくいかないと言ってください。ありがとう。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

+0

申し訳ありませんが、マークは早く対応できないため、私は新鮮な環境を再現しなければなりませんでしたパッケージを使用するのではなく、ソースから再コンパイルすることによって問題を "解決"したときに、すでに作業環境だけで「壊れていた」ので、元のバージョンのImageMagickを試してみてください。 –

答えて

0

私はあなたのpolicy.xmlファイルの違いに気づいていないと思います。 IMセキュリティの脆弱性(detailed here)に関する最近の警告がありました。あなたのサーバーのいずれかにあるpolicy.xmlファイルが安全であり、他のものではないと思われます。そのファイル内の影響を受けた行は次のようになります。質問の所有者によって寄与

<!-- <policy domain="path" rights="none" pattern="@*" /> --> 

明確化:

  • ポリシーファイルの場所は、パッケージ配布のデフォルトの状態はアウトコメント解除され/etc/ImageMagick-6/policy.xml
  • です。
  • ここで推奨されるのは、コメントすることです。
  • このソリューションは、質問の所有者にとっては機能しませんでした。あなたの走行距離マークでさらに明確化、

を変更することがあります。

policy.xmlファイルの場所は常に/etc/ImageMagick-6ではない、それは異なるシステム上で異なっている - 例えばOS Xでそれがあります/usr/local/Cellar/imagemagick...

convert -debug configure logo: null: 2>&1 | grep -Ei "Searching|Loading" 
+0

上記の解決策は私には役に立たなかった。デフォルトでは、ポリシー行はコメントアウトされていません。私が上記の政策線を賞賛したかどうかは、何の違いもありませんでした。実際、私の再コンパイルされたバージョンでは、行のコメントが外されています。しかし、ありがとう。 –

2

からビルドする必要はありません:

policy.xmlファイルを見つけるための確実な方法は、以下のコマンドを実行して、ImageMagickのはpolicy.xmlファイルがdelegates.xmlcoder.xmlと同じディレクトリにあることを期待していることを実現することですソース。ただ、置き換える@ - "` tee`" で:

printf "Hello\nWorld" | 
convert \ 
    -size 1280x100 \ 
    -background '#0000FF10' \ 
    -density 90 \ 
    -gravity Center \ 
    -fill black \ 
    -font Helvetica \ 
    caption:"`tee`" \ 
    test.png 

` convertコマンドを完了する前にSTDIN最初と 'プロセス' を実行しますtee`。

関連する問題