0
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”……所以特殊字符、空格、引号等肯定有问题……</p>

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

我现在已经浪费了很多时间……所以这就是为什么我希望你能帮助我。谢谢!

4

1 回答 1

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");

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

于 2013-06-27T08:12:01.813 回答