Frage

Wie fett / kursiv Text mit PIL ziehen? ImageFont.truetype (Datei, Größe) hat eine Option nur Schriftgröße angeben.

War es hilfreich?

Lösung

die fett / kursiv Version der Schriftart verwenden

Andere Tipps

Viele Schriften verwenden verschiedene TTF-Dateien für ihre fett / kursiv Versionen, so würde ich mich vorstellen, wenn man nur die Datei angeben, dass es funktionieren würde.

Eine ziemlich hacky Lösung eine Schrift fett zu machen, wenn (aus irgendeinem Grund) Sie keine separate fette Version der Schrift haben, ist der gleiche Text mehrmals mit einem leichten drucken ausgeglichen.

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')

Nun, dies ist mein erster Kommentar. Hier gehen wir.

Ich werde versuchen, das Verfahren zu klären. Zuerst Was ich tat, war die „name“ der Schriftart wie folgt verwenden

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

bekam aber nur einige Fehler wie folgt aus:

    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

Dann erinnerte ich mich, dass manchmal Schriftarten anderen „Namen“ oder „Dateinamen“ hat, also das, was ich tat, war, um Schriftart-Ordner gehen, dann ist die Schriftart Arial Wich öffnete alle Stile wie negrita (fett] angezeigt, cursiva (kursiv) etc.

Haben Sie einen Rechtsklick auf den „negrita“ -Stil, ausgewählt „Eigenschaften“ und dann war da noch die „echten Namen“ der Schrift.

In meinem Fall war der Name "ariblk"

Dann schließlich verwendete nur die Namen wie diese.

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

Ich weiß, dass dieser Beitrag ist alt, aber heute hat mir geholfen, die Lösung zu bekommen. So hoffe ich, jemanden zu helfen.

=)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top