Bonne nuit. Aujourd'hui j'essaie d'apprendre PIL/Pillow en Python.Ecrire sur l'image à l'aide de PIL/PILLOW
J'ai utilisé le code suivant:
import PIL
import PIL.Image as Image
import PIL.ImageDraw as ImageDraw
import PIL.ImageFont as ImageFont
font = ImageFont.truetype("C:\Windows\Fonts\Verdanab.ttf", 80)
img = Image.open("C:/Users/imagem/fundo_preto.png")
draw = ImageDraw.Draw(img)
filename = "info.txt"
for line in open(filename):
print line
x = 0
y = 0
draw.text((x, y),line,(255,255,255),font=font)
img.save("a_test.png")
x += 10
y += 10
Je sais que le don `t « draw.text() » oeuvres de fonction, mais j'ai essayé de writte ce qui suit sur une image de fond noir j'ai. Tout ce que je reçois, ce sont ces lignes les unes sur les autres sur la même ligne.
Comment cette fonction fonctionne-t-elle et comment puis-je obtenir la position des lignes à différents endroits au lieu d'une sur l'autre.
L'initialisation de '' x' et y' doit être déplacé avant que la boucle, sinon 'x + = 10; y + = 10' n'aurait aucun effet. Aussi, je voudrais enregistrer l'image après la boucle. Le chemin de police peut être donné comme chaîne brute 'r 'C: \ Windows \ Fonts \ Verdana.ttf" 'pour empêcher la signification spéciale de la barre oblique inverse dans les chaînes. –
Puisque nous parlons de polices. Étiez-vous obtenir une police qui émule une police de terminal? J'essaie d'émuler un écran d'un terminal d'invite de commande, mais la police que j'utilise n'est pas géniale pour ça. –
Peut-être que vous voulez utiliser une police mono-espacée. BTW, une manière plus portable pour le répertoire de polices de Windows: 'os.path.join (os.environ ['WINDIR'], 'Fonts')'. –