pgmagick を使用して、画像にテキストを正常に描画しました。
from pgmagick.api import Image
img = Image((300, 200))
img.annotate('Hello World')
img.write('helloworld.png')
しかし、テキストの境界ボックスを取得する方法は? 誰でも私を助けることができますか?
pgmagick を使用して、画像にテキストを正常に描画しました。
from pgmagick.api import Image
img = Image((300, 200))
img.annotate('Hello World')
img.write('helloworld.png')
しかし、テキストの境界ボックスを取得する方法は? 誰でも私を助けることができますか?
私は何も知りませんが、 ImageMagickpgmagick
を使用してコマンドラインで実行できることをいくつか紹介すると役立つかもしれません。
オプション1
label
目的のテキストに十分な大きさのキャンバスを作成するために使用し、 ImageMagickにそのキャンバスのジオメトリの大きさを尋ねます。
convert label:"Hello world" -format %G info:
62x15
したがって、デフォルトのフォント サイズの「Hello world」は、幅 62 ピクセル、高さ 15 ピクセルです。
オプション 2
または、あなたが行ったように使用してから、周囲の余分なスペースをトリミングした場合のサイズをImageMagick-annotate
に尋ねます。
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
たぶん (できれば) これらの 1 つをpgmagick
.