php ImageMagick exec -draw文本无法正常工作 - 特殊字符

时间:2013-06-27 07:56:16

标签: php text imagemagick imagemagick-convert

exec($IM_path."convert
    -size 800x300 xc:black  
    -font ".$linktottf."
    -pointsize 16
    -draw \"fill white stroke none decorate underline text 580,28 Kühle Frische, not working\"
    output.png");

上面代码中的“绘制文本”部分不起作用。 output.png只显示“Khle”...所以特殊字符,空格,引号,...一定有问题。

我尝试了很多(转义,不同的引号,反斜杠,......)

我现在已经失去了很多时间......所以这就是为什么我希望你能帮助我。 THX!

1 个答案:

答案 0 :(得分:1)

如果你想要绘制引号,你需要将它们括在一组不同的引号中,双引号用单引号括起来。

label:'\"fill white stroke none decorate underline text 580,28 Kühle Frische, not working\"'

对于特殊字符,请尝试以unix utf-8格式保存脚本(像Textpad这样的编辑器在显示保存对话框时有保存文件的选项,类似的编辑器应该具有相同的选项)。

并将系统LANG设置为使用utf

LANG=en_US.utf-8;

exec("LANG=en_US.utf-8; ".$IM_path."convert -size 800x300 xc:black -font ".$linktottf." -pointsize 16 label:'\"fill white stroke none decorate underline text 580,28 Kühle Frische, not working\"' output.png");

看起来你想要'标签'而不是画画。它也需要在一行上,否则它会将其解释为单独的命令