我如何得到文本边界框绘制pgmagick



我成功地用pgmagick在图片上绘制了一些文字:

from pgmagick.api import Image
img = Image((300, 200))
img.annotate('Hello World')
img.write('helloworld.png')

但是如何得到文本的边界框?有人能帮我吗?

我对pgmagick一无所知,但如果我向您展示一些您可以在命令行中使用ImageMagick做的事情,可能会有所帮助。

选项1

使用label创建一个画布刚好大到所需的文本,然后问ImageMagick画布的几何形状有多大:

convert label:"Hello world" -format %G info:
62x15

所以,"Hello world"在默认的字体大小是62像素宽,15像素高。

选项2

或者,像你做的那样使用-annotate,然后询问ImageMagick如果你修剪它周围的多余空间会有多大:

convert -size 300x200 xc:red -annotate +10+20 "Hello world" -format %@ info:
61x8+10+12

选项3

创建画布并注释它,然后修剪它并获得尺寸:

convert -size 300x200 xc:red -annotate +10+20 "Hello world" -trim info:
xc:red XC 61x8 300x200+10+12 16-bit sRGB 0.000u 0:00.000

选项4

创建画布,注释,修剪,保存,然后得到结果的尺寸:

convert -size 300x200 xc:red -annotate +10+20 "Hello world" -trim result.png
identify result.png
result.png PNG 61x8 300x200+10+12 16-bit sRGB 887B 0.000u 0:00.000

也许(希望)您可以将其中一个适配到pgmagick

相关内容

  • 没有找到相关文章

最新更新