如何旋转文本然后在graphicsmagick中绘制?

时间:2017-11-11 16:49:49

标签: node.js graphicsmagick gm

如何旋转文本然后在graphicsmagick中绘制? 这是一个简单的问题,但我无法从API中理解它。

帮助将不胜感激。谢谢。 我顺便使用gm,但是从命令行执行它也足够了。

此外,关于这个问题还有一个公开的问题。 https://github.com/aheckmann/gm/issues/660

OpenCV或Imagemagick替代方案是可行的,如果我们不能用graphicsmagick来做。

2 个答案:

答案 0 :(得分:1)

我同意Mark Setchell的观点。这个问题含糊不清。在ImageMagick中,您可以通过多种方式绘制旋转文本。 -annotate函数将通过其参数执行此操作。您还可以使用label创建一个新的文本图像:然后旋转它并将其组合在背景图像上。请参阅http://www.imagemagick.org/Usage/text/http://www.imagemagick.org/script/command-line-options.php#annotate

输入:

enter image description here

convert logo.jpg -font Arial -pointsize 64 -fill red -gravity center -annotate 20x20+0+0 "TESTING" logo_test.jpg

或者使用-draw

convert logo.jpg -font Arial -pointsize 64 -fill red -gravity center -draw "rotate 20 text 0,0 'TESTING'" logo_test2.jpg

enter image description here

对不起,我不知道GraphicsMagick,但它应该有一个类似的运算符来注释,也许是同一个名字。

答案 1 :(得分:0)

如此处指定:http://www.graphicsmagick.org/GraphicsMagick.html#details-draw,您可以为graphicsmagick的 -draw 选项指定其他转换原语。

在这种情况下,“ Rotate”原语是您所需要的。您需要在“文本”选项之前指定此原语才能完成这项工作。

示例:

gm convert -font arial -fill white -gravity Center -draw "rotate 45 text 0,0 'Some text'" img1.jpg img2.jpg

将“ rotate {degrees””原语放在文本语句之前非常重要,以完成这项工作。