2
私はフレームごとに分割して画像として保存しているというgifを持っています。私はImageDraw
を使ってテキストを書きましたが、今は問題に遭っています。テキストは国境の外に出ています。キャッチは、スクリプトを使ってインターネットからランダムなgifを取得しているので、フォントのサイズや書き込む量のテキストをハードコードできないということです。画像に追加するテキストが画像の枠内に収まるようにするにはどうすればよいですか?何が起こっているのイメージにテキストを書き込んで、境界線の外に出ないようにするにはどうすればよいですか?
例:
画像に書き込みを扱うコードのセクション:
meme_text = "When your kitten is thinking about tuna but has none"
for i in range(0,max_frame_int + 1):
writeimg = Image.open("frameinstance" + str(i) + ".png")
newimg = Image.new("RGB", writeimg.size)
newimg.paste(writeimg)
width_image = newimg.size[0]
height_image = newimg.size[1]
draw = ImageDraw.Draw(newimg)
# font = ImageFont.truetype(<font-file>, <font-size>)
font = ImageFont.truetype("impact.ttf", 50)
# draw.text((x, y),"Sample Text",(r,g,b))
draw.text((int(0.05*width_image), int(0.7*height_image)),meme_text,(255,255,255),font=font)
newimg.save("newimg" + str(i) +".png")
あなたが投稿したサンプル画像でこれを試してみました。スクリプトは、10ptsがテキスト全体に収まる最大のフォントであり、実際にそれを書いてそれに合っていることを発見しました。 – jknupp
PILのコードはありますか? –
私は 'pillow'を使用しました。だから、... – jknupp