2015-10-31 49 views
1

我试图用Imagemagick和PHP生成多色文本图像。以下代码有效,但不能在每个单词之后插入空格。我尝试了各种设置,没有任何工作。我应该使用注释还是绘制文本命令而不是标签?标签似乎很容易在这里使用。在多色文本图像中的每个单词之间添加空格

$file = 'font.ttf'; 

$command = "convert -background white -fill black -font $file -pointsize 80 -density 90 label:New -fill black -font $file -pointsize 80 -density 90 label:Here -fill red -font $file -pointsize 80 -density 90 label:? +append $multi-color-text.png"; 

exec($command); 

更新:解决方案

备注:不计空格在命令行工作。所以,我需要用正斜杠来避免双引号。

这工作:

$command = "convert -background white -fill black -font $file -pointsize 80 -density 90 label:\"New \" -fill black -font $file -pointsize 80 -density 90 label:\"Here \" -fill red -font $file -pointsize 80 -density 90 label:? +append $multi-color-text.png"; 

谢谢大家,特别是弗雷德!

+0

尝试使用'\ N'。不是100%确定的,但你可以尝试。或者连接''convert ... code ...。“”等等“ –

+0

嗨Fred,我需要将所有这些单词放在一行中。'\ n'会创建多行,我认为是 –

+0

我有一种感觉关于这个,我编辑了我的上面的注释来尝试和连接,即转换。 “”。等等类型的东西。 –

回答

0

在你的情况下,一旦你想插入多个文本而不是使用-label,最好使用-annotate

使用-annotate的实施例:http://www.imagemagick.org/Usage/annotating/#gravity_text

+0

*“你试过了吗?”*答案最好作为评论,其中我已经将OP留在他们的问题下,包含使用注释的Q&A。 –

+0

确实@弗雷德 - ii-,我已经改写了答案。我没有看到你的评论。 –

+0

@Phellipe,你和Fred也建议在这里使用-annotate。将使用它。 –

相关问题