【问题标题】:ImageMagick creating thumbnailImageMagick 创建缩略图
【发布时间】:2012-02-04 01:56:09
【问题描述】:

这里是使用 imagemagick 创建动画文本的代码..

$label=$_POST["label"];
$cmd = " -background transparent -font $font -pointsize $size label:$label -stroke black -strokewidth 2 ".
"  \( -clone 0 -tile \"" . $image . "[0]\" -stroke black -strokewidth 2 -gravity center -annotate +0+0 $label \) ".

当我在标签字段中输入“1234”时,上面的代码可以正常工作......但是当我输入“12 34”时它不会显示它只显示“12”它没有在字符之间占用“空格”......需要为“标签”变量做一些事情..不知道如何解决这个问题..请帮我解决这个问题...

【问题讨论】:

标签: php html imagemagick imagick


【解决方案1】:

我的帖子已编辑。看看 hakre 发布了什么,这是一个 better answer,而不是我的。

string escapeshellarg ( string $arg )

应该做到这一点,而且它允许您将字符串直接传递给被视为单个安全参数的 shell 函数

【讨论】:

    【解决方案2】:

    将整个字符串放在双引号中,因为命令行中不允许使用空格。在下文中,我使用\" 转义序列将$label 的两种用法用双引号括起来:

    $label=$_POST["label"];
    $cmd = " -background transparent -font $font -pointsize $size label:\"$label\" -stroke black -strokewidth 2 ".
    "  \( -clone 0 -tile \"" . $image . "[0]\" -stroke black -strokewidth 2 -gravity center -annotate +0+0 \"$label\" \) ".
    

    【讨论】:

    • @user1120557:很好!现在,如果其中一个帖子对您有帮助,您应该“接受”该帖子,即单击其分数下方的复选标记。如果所有帖子都对您没有帮助,那么您可能想在问题中添加一个答案,解释什么是有效的,并接受您自己的答案。
    【解决方案3】:

    使用撇号,例如 http://www.imagemagick.org/Usage/text/#label 上的“多行标签”

    $cmd = " -background transparent -font $font -pointsize $size label:'$label' -stroke black -strokewidth 2 ".
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多