使用PHP变量进行ImageMagick注释

使用PHP变量进行ImageMagick注释,imagemagick,Imagemagick,我当前运行以下命令,用变量$handle 在灯上运行时,一切正常,图像中输入了$handle变量。但是,在WAMP上运行时,变量周围的两个撇号将包含在变量中。它在变量的前端和末尾添加了一个。这是我正在运行的。你知道为什么吗 exec("C:\ImageMagick\convert $final -font handle_font.ttf -pointsize $font_size -fill black -annotate $pos_black '$handle' -fill white -a

我当前运行以下命令,用变量
$handle

在灯上运行时,一切正常,图像中输入了
$handle
变量。但是,在WAMP上运行时,变量周围的两个撇号将包含在变量中。它在变量的前端和末尾添加了一个。这是我正在运行的。你知道为什么吗

exec("C:\ImageMagick\convert $final -font handle_font.ttf -pointsize $font_size -fill 
black -annotate $pos_black '$handle' -fill white -annotate $pos_white '$handle' 
-flatten $final");

在windows上,您需要交换“for”,在您的情况下,使用\

\"$handle\"
像这样编写代码,然后您可以回显$cmd并查看它包含的内容:

$cmd = " $final -font handle_font.ttf -pointsize $font_size -fill black -annotate $pos_black \"$handle\" -fill white -annotate $pos_white \"$handle\" -flatten ";

echo $cmd.'<br>';

exec("C:\ImageMagick\convert $cmd $final");
$cmd=“$final-font-handle\u font.ttf-pointsize$font\u size-fill black-annotate$pos\u black\“$handle\”-fill white-annotate$pos\u white\“$handle\”-展平”;
回显$cmd。“
”; exec(“C:\ImageMagick\convert$cmd$final”);
我尝试过这样做,但是没有任何注释。我没有看到任何文本。@Jako我假设黑白文本位置之间存在差异。是的,对于文本阴影来说只是1px的差异。这就是它的回声。
1.jpg-font handle\u font.ttf-pointsize 26-填充黑色-注释+167+161”@TEST“-fill white-annotate+167+160”@TEST”-flatten
和相同的结果,没有显示文本。这似乎与我试图将@符号添加到句柄有关。如果我删除“$handle”,只使用$handle而不使用@符号,它就可以工作。但我需要把@包括在内。