我正在将内部使用图像魔术的JavaScript程序迁移到使用图形魔术的Windows批处理文件。

我无法成功使用convert -draw命令。

我有几个非常简单的测试用例。第一个是

gm convert -size 1920x1080 xc:white -draw 'text 8,8 "Hello, world"' test.jpg

失败,并显示错误消息“不一致的图形基元(文本)”。

另一个
gm convert -size 1920x1080 xc:white -draw 'image over 8,8 0,0 "img.jpg"' test.jpg

失败,显示“不符合标准的图形图元(图像)”。

从命令行调用和从BAT文件内部调用时,它们都失败。

我试过使用带引号"和不带引号。

我尝试使用^引号^"进行转义。

我试图转义单引号^'

我显然忽略了一些非常简单的东西,但我看不到。有任何想法吗?

编辑我做了一些尝试。
gm convert -size 1920x1080 xc:white -draw "'text 8,8 Hello'" test.jpg
gm convert -size 1920x1080 xc:white -draw "'text 8,8 \"Hello\"'" test.jpg
gm convert -size 1920x1080 xc:white -draw 'text 8,8 ^"Hello^"' test.jpg
gm convert -size 1920x1080 xc:white -draw "'text 8,8 ""Hello""'" test.jpg


gm convert -size 1920x1080 xc:white -draw "text 8,8 ""Hello"" " test.jpg

失败,显示“无法读取字体”

最佳答案

使用双引号:-draw“图像超过8,8,0,0”“img.jpg”“”吗?

关于windows - 尝试使用图形magick绘制文本或图像时出现 “non-conforming drawing primitive”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8700074/

10-14 15:48
查看更多