How to use stdin with caption in ImageMagick

前端 未结 2 1146
悲哀的现实
悲哀的现实 2021-01-14 13:18

My understanding from reading the ImageMagick documentation regarding text, is that the @- notation reads the contents of standard input.

As such, this

相关标签:
2条回答
  • 2021-01-14 14:06

    No need to build from source. Just replace @- with "`tee`" :

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

    `tee` will execute first and 'process' stdin before completing the convert command.

    0 讨论(0)
  • 2021-01-14 14:06

    I suspect it is down to differences in your policy.xml file. There were recent warnings about IM security vulnerabilities (detailed here) and I guess the policy.xml file on one of your servers has been made secure and not the other. The affected line in that file is:

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

    Clarifications contributed by question owner:

    • The policy file's location is /etc/ImageMagick-6/policy.xml
    • The default state in the package distribution is UNcommented out.
    • The recommendation posed here is to comment it out.
    • This solution did not work for the question owner; your mileage may vary,

    Further clarification by Mark:

    The location of the policy.xml file is not always /etc/ImageMagick-6, it is different on different systems - for example on OS X it is under /usr/local/Cellar/imagemagick....

    The sure way to find the policy.xml file is to run the following command and realise that ImageMagick expects the policy.xml file to be in the same directory as the delegates.xml and coder.xml:

     convert -debug configure logo: null: 2>&1 | grep -Ei "Searching|Loading"
    
    0 讨论(0)
提交回复
热议问题