ImageMagick创建缩略图

时间:2012-01-06 10:02:20

标签: php html imagemagick imagick

这里是使用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”它没有在字符之间取“空格”...需要为“label”变量做些什么..不知道如何解决这个问题..请帮我解决这个问题......

3 个答案:

答案 0 :(得分:0)

我的帖子已编辑完成。看看hakre发布了什么,它是better answer而不是我的。

string escapeshellarg ( string $arg )

应该做的伎俩,加上它允许你将一个字符串直接传递给被视为单个安全参数的shell函数

答案 1 :(得分:0)

使用撇号,例如http://www.imagemagick.org/Usage/text/#label

中的“多行标签”示例
$cmd = " -background transparent -font $font -pointsize $size label:'$label' -stroke black -strokewidth 2 ".

答案 2 :(得分:0)

将整个字符串放在双引号中,因为命令行中不允许使用空格。在下面,我使用$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\" \) ".