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

How do I rotate a text and then draw in graphicsmagick?

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

中理解它

不胜感激。谢谢你。 顺便说一句,我正在使用 gm,但是从命令行执行它也足够了。

另外,关于这个主题还有一个未解决的问题。 https://github.com/aheckmann/gm/issues/660

OpenCV 或 Imagemagick 的替代方案是可能的,如果我们不能用 graphicsmagick 做到这一点。

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

输入:

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

抱歉,我不知道 GraphicsMagick,但它应该有一个与 -annotate 类似的运算符,也许名称相同。

如此处指定:http://www.graphicsmagick.org/GraphicsMagick.html#details-draw 您可以为 graphicsmagick 的 -draw 选项指定额外的转换基元。

"Rotate" 原语是你在这种情况下需要的东西。您需要在 "text" 选项之前指定此原语才能完成这项工作。

示例:

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

在文本语句之前放置 "rotate {degrees}" 原语以完成这项工作非常重要。