【问题标题】:ImageMagick - quoted numbers as convert label argument causes the command to failImageMagick - 引用数字作为转换标签参数导致命令失败
【发布时间】:2013-02-07 12:00:44
【问题描述】:

我的 shell 挂在这个命令上:

/usr/local/bin/convert -size 298x71 -background black -fill white -stroke none -gravity center -trim -interline-spacing 0 -font /home/amazingw/public_html/live/fonts/Phillies.ttf label:'150' png:-

shell 就在那里,直到我按下 ctrl+c。如果我在 label: 参数中添加任何字母,命令运行正常并且我得到输出。 字体在那里,但它缺少定义中的数字字符。 这会导致我的命令失败吗?

【问题讨论】:

    标签: linux command imagemagick label


    【解决方案1】:

    这似乎是与控制台输入有关的问题,我假设您使用的是 Bash。

    如果是这种情况,Bash 会尝试解释引号并等待其他输入。

    在查看 imagemagick 网站的“标签:”之后

    Label - Simple Text Label
    
    Basic Labels
    
    Creating a font image using a "label:" image, 
    is the more typical way of drawing a font
    quickly in ImageMagick...
    

    它继续并给出了许多例子......

    convert -background lightblue -fill blue \
          -font Candice -pointsize 72 label:Anthony \
          label.gif
    

    所有示例均未显示单引号。

    我假设在 Bash 和 ImageMagick 的转换程序之间,在解释来自控制台的输入时存在一些错误。

    我建议尝试不带引号的相同命令

    /usr/local/bin/convert -size 298x71 -background black -fill white -stroke none -gravity center -trim -interline-spacing 0 -font /home/amazingw/public_html/live/fonts/Phillies.ttf label:150 png:-
    

    我也会快速浏览一下Bash manual about single quotes

    【讨论】:

    • 我尝试使用双引号和不使用引号。完全没有区别。如果我在标签上添加一个字母,它将起作用 - 例如 label:'a150'。
    • 哇,这听起来像是解析问题,我必须查看代码才能确认,但您拥有的 imagemagick 版本似乎存在错误。那可能是什么版本?
    【解决方案2】:

    我能够使用包含数字的字体的修改版本进行测试。命令进行得很顺利,并返回了输出图像。这几乎将其缩小到处理标签的 ImageMagick 问题。看起来如果标签仅由字体中缺少的字符组成(生成的输出图像将为空) - 在这种情况下 ImageMagick 挂起直到按下 ctrl+c - 特别有问题,因为我从 php 的 proc_open 运行它.

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-20
      • 2017-05-25
      • 1970-01-01
      相关资源
      最近更新 更多