我成功地用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
。