gpt4 book ai didi

python - 如何使用 Python PIL 粘贴到特定位置?

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:15 29 4
gpt4 key购买 nike

我正在尝试创建一个程序,它拍摄 128 个气球的图像,它们的大小在固定的变化中增加,并将每个图像粘贴到具有一定大小的固定图像的不同副本上,图像如下所示,还有代码,我到目前为止所做的代码是将它们粘贴在图像的左上角,我希望每张图片都粘贴在副本下边框的中间,所以问题在于区域变量的创建: the background the balloon picture

from PIL import Image

i = 0

while(i < 128):
balloon = Image.open("NEAREST" + str(i) + ".jpg")
canvas = Image.open("blank.jpg")

area = (0 ,0,298+i,298+i)
canvas.paste(balloon, area)
canvas.save("PASTE"+str(i)+".jpg")
i = i + 1

最佳答案

你在.paste()中设置的area就是粘贴的位置(左、上、右、下)。由于您将 left 和 top 设置为零,因此气球将粘贴在左上角。

要将其粘贴到底部中间,您必须计算位置的正确值:

顶部的空间是背景的高度减去粘贴图像的高度,即 425 - (298 + i),或者只是 425 - 298 - i127 - i

侧面的空间是顶部的一半。

这将为您提供以下代码:

from PIL import Image

i = 0

while(i < 128):
balloon = Image.open("NEAREST" + str(i) + ".jpg")
canvas = Image.open("blank.jpg")

space = 127 - i

area = (int(space/2), space, int(space/2) + 298 + i, 425)
canvas.paste(balloon, area)
canvas.save("PASTE"+str(i)+".jpg")
i = i + 1

请注意,这是针对您的情况进行硬编码的,即它仅在背景为 425x425 像素时有效。否则,您必须根据图像大小动态计算它。

关于python - 如何使用 Python PIL 粘贴到特定位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982812/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com