Python - 使用Pillow在相对定位的背景图像上绘制文本或图像

时间:2017-08-30 09:08:48

标签: python pillow

我正在使用Pillow将一些文本/图像放在另一张图像之上。

我的代码如下所示:

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

我的问题是我正在使用不同尺寸的图像(我不想调整大小而不会丢失质量)所以我希望我的文本的位置始终与我的背景图像相关。 IE:左边30%,下边50%。

谢谢!

1 个答案:

答案 0 :(得分:0)

我明白了!如果有人想知道,我补充说:

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

它现在有效:)