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!
答案 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");
看起来你想要'标签'而不是画画。它也需要在一行上,否则它会将其解释为单独的命令