質問

PILで太字/斜体のテキストを描画する方法は? ImageFont.truetype(file、size)には、フォントサイズのみを指定するオプションがあります。

役に立ちましたか?

解決

太字/斜体のフォントを使用する

他のヒント

多くのフォントは太字/斜体のバージョンに異なるTTFファイルを使用しているため、そのファイルを指定するだけで機能すると思います。

(何らかの理由で)フォントの太字バージョンが別にない場合に、フォントを太字にするためのややハッキングなソリューションは、わずかなオフセットで同じテキストを数回印刷することです。

andaleMono = ImageFont.truetype(ANDALE_MONO_PATH,16)
text = "hello world"
mainOffset = (50,50)
xoff, yoff = mainOffset
draw.text(mainOffset,text,font=andaleMono,fill='black')
draw.text((xoff+1,yoff+1),text,font=andaleMono,fill='black')
draw.text((xoff-1,yoff-1),text,font=andaleMono,fill='black')

まあ、これは私の最初のコメントです。ここに行きます。

手順を明確にしようとします。最初は「名前」を使用しましたこのようなフォントの

font = ImageFont.truetype("C:\Windows\Fonts\\Arial Negrita.ttf",25)

ただし、次のようなエラーのみが表示されます:

    Traceback (most recent call last):
  File "C:/Users/555STi/PycharmProjects/PIL/img.py", line 8, in <module>
    font = ImageFont.truetype("C:\Windows\Fonts\Arial negrita.ttf",25)
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 262, in truetype
    return FreeTypeFont(font, size, index, encoding)
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 142, in __init__
    self.font = core.getfont(font, size, index, encoding)
IOError: cannot open resource

その後、時々フォントには他の「名前」があることを思い出しました。または「ファイル名」というように、フォントフォルダーに移動して、ネグリタ(太字)、cursiva(イタリック)などのすべてのスタイルを表示するArialフォントを開きました。

「negrita」を右クリックしましたスタイル、選択された「プロパティ」そして、「本名」がありました。フォントの

私の場合、名前は&quot; ariblk&quot;

でした

そして最後に、このような名前を使用しました。

font = ImageFont.truetype("C:\Windows\Fonts\\ariblk.ttf",25)

この投稿が古いことは知っていますが、今日は解決策を見つけるのに役立ちました。だから私は誰でも助けたいと思っています。

=)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top