正确的语法来生成;“文本”;使用ImageMagick的图像
我正在尝试用ImageMagick生成测试图像。图像只需要包含文本。直截了当地使用以下选项是行不通的:正确的语法来生成;“文本”;使用ImageMagick的图像,imagemagick,Imagemagick,我正在尝试用ImageMagick生成测试图像。图像只需要包含文本。直截了当地使用以下选项是行不通的: convert -background lightblue -fill blue -font Roboto -pointsize 72 label:Anthony label.gif 收益率: convert.im6: unable to read font `Roboto' @ warning/annotate.c/RenderType/853. convert.im6: no image
convert -background lightblue -fill blue -font Roboto -pointsize 72 label:Anthony label.gif
收益率:
convert.im6: unable to read font `Roboto' @ warning/annotate.c/RenderType/853.
convert.im6: no images defined `label.gif' @ error/convert.c/ConvertImageCommand/3044.
因此1)需要什么才能使用字体名称(我的整个桌面都使用Roboto,所以我假设它安装正确,其他字体名称也不起作用)和2)如果我删除字体规范,我仍然会得到第二行,并且没有输出
我错过什么了吗
在Ubuntu 14.04上使用
ImageMagick 6.7.7-10 2016-11-29 Q16
。除了字体错误之外,在windows安装版本7上对我来说还行,因为我没有安装该字体。将其设置为arial将删除字体错误
尝试此操作以查看Imagemagick是否可以看到您的字体:
identify -list type
否则,我会尝试用路径直接链接到您的字体,并将.ttf放在末尾。我假设您的字体是.ttf字体,因为Imagemagick支持该类型,而另一种我不记得了
出于兴趣,您的版本已经使用了4.5年。最终使用-size而不是-pointsize使其正常工作,并切换到
标题
,因为我可以更好地控制位置:
convert -background transparent -fill darkblue -font Roboto-Regular -size 200x100 -gravity center 'caption:Test' out.png
以上在IM 6.9.7.0 Q16 Mac OSX上运行良好,这是您正在使用的ImageMagick特定版本中的一个错误,由错误修复补丁的不正确后端口导致 有问题的修补程序是Debian修补程序
0161不要忽略SetImageBias偏差值
。我不知道这是否包含在2016年11月14日对8:6.7.10-6ubuntu3.2
的安全更新中,或者2016年11月29日对8:6.7.7.10-6ubuntu3.3
的安全补丁中(或者,至少我没有费心去弄清楚,因为它没有那么重要。)该补丁是作为,但是,由于对文件coders/label.c
中的逻辑进行了重组,更正结果被插入了错误的位置
本质上,label.c
的逻辑如下:
标签:
源不需要-size
(或-pointsize
)参数。但对于放错位置的补丁,这是不正确的;除非在几何图形中指定了高度,否则将不会生成标签
我还没有为此生成错误报告,因为它只适用于过时版本的Ubuntu(可能还有Debian)上的过时版本的ImageMagic。碰巧我和OP都在某台机器上使用这个过时的Ubuntu版本,我建议我们都升级。但是如果其他人有这个问题,我会回答这个问题(我在我的机器上研究相同的问题时发现的)。使用
identification-list font
列出字体,我可以看出我应该使用“Roboto Regular”。但是我将有未定义图像的消息。请看这里。。。字体没有问题……有迹象表明这是一个由安全问题的补丁引起的错误。见@rici谢谢你的提醒。
convert -background lightblue -fill blue -font Arial -pointsize 72 label:"Anthony" label.gif