web-dev-qa-db-ja.com

Python、PIL;テキストから画像およびフォント

Python and PIL-画像をpngファイルに書き込むことができますが、太字のテキストを書き込むことはできません。達成方法の例を誰かに教えてもらえますか?この?

最も簡単な解決策多分は、太字のテキストのバリアントを使用することだと思いましたが、これを提供するWindows/fontフォルダーに何も表示されません。これは、フォントタイプに「太字の属性 'T/F ?:
quick look for bold-fonts under windows

私が使用しているコード:

import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw

# font = ImageFont.truetype("Arial-Bold.ttf",14)
font = ImageFont.truetype("Arial.ttf",14)
img=Image.new("RGBA", (500,250),(255,255,255))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(0,0,0),font=font)
draw = ImageDraw.Draw(img)
img.save("a_test.png")
19
Harry Lime

コントロールパネルで実際のフォントファイルを見ているわけではありません(エクスプローラーがWindows/fontsフォルダーにあると、魔法のようにフォントビューアーコントロールパネルに切り替わります)。ファミリをダブルクリックして、ファミリ内のフォントを表示します。

enter image description here

次に、右クリックしてプロパティを選択し、ファイル名を見つけます。

enter image description here

9
Pavel Anossov

それを行う簡単な方法:

font = ImageFont.load_default().font

また、 「verdana.ttf」のGoogle検索 を実行してダウンロードし、pythonファイルと同じディレクトリに配置することもできます。

次に、次のように追加します。

font = ImageFont.truetype("Verdana.ttf",14)
12
snow