2017-08-30 5 views
1

J'utilise Pillow pour placer des textes/images sur une autre image.Python - Dessiner un texte ou une image au-dessus de l'image de fond avec un positionnement relatif à l'aide de l'oreiller

Mon code ressemble à ceci:

header = Image.open("header.jpg") 
header1 = header.resize((670, 280), Image.ANTIALIAS) 
foreground = Image.open("MyImage.jpg") 
draw = ImageDraw.Draw(header1) 
header1.paste(foreground,(523,190), foreground) 
draw.text((565, 210), "TEXT1", 
font=ImageFont.truetype("C:\Windows\Fonts\Arial.ttf", 14), fill= 
(232,43,123,255)) 
draw.text((535, 221), "TEXT2", 
font=ImageFont.truetype("C:\Windows\Fonts\\arialbd.ttf", 55), fill= 
(232,43,123,255)) 
header1.save('Images/header_final.png') 

Mon problème est que je suis en utilisant des images de tailles différentes (et je ne veux pas redimensionner pour ne pas perdre la qualité), donc je voudrais que le positionnement de mon texte être toujours par rapport à mon image de fond. IE: 30% vers la gauche et 50% vers le bas.

Merci!

Répondre

0

Je l'ai compris! Dans le cas où quelqu'un se demande, j'ai ajouté:

point = (int(header.width * 0.5), int(header.height * 0.5)) 
header1.paste(foreground, point) 

Il travaille maintenant :)