gpt4 book ai didi

python - 如何将边框图像(常量)粘贴到多个缩略图上?

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:08 26 4
gpt4 key购买 nike

这是我想要实现的目标:

  1. 将多个产品图片调整为 500 x 500 像素

  2. 将所有这些调整大小的图像单独粘贴到 800 x 800 图像上,并作为单个图像输出

目前,我已成功完成第 1 步,但不知道如何继续第 2 步。这是我的第 1 步的代码:

from PIL import Image
import os, sys

path = "C:\\Users\\User\\Desktop\\Test\\"
dirs = os.listdir( path )
final_size = 500;

def resize_aspect_fit():
for item in dirs:
if item == '.png':
continue
if os.path.isfile(path+item):
im = Image.open(path+item)
f, e = os.path.splitext(path+item)
size = im.size
ratio = float(final_size) / max(size)
new_image_size = tuple([int(x*ratio) for x in size])
im = im.resize(new_image_size, Image.ANTIALIAS)
new_im = Image.new("RGBA", (final_size, final_size), (255,255,255,000))

new_im.paste(im, ((final_size-new_image_size[0])//2, (final_size-new_image_size[1])//2))
new_im.save(f + 'resized.png', 'PNG', quality=100)
resize_aspect_fit()

谢谢!

编辑:

这是一个图像插图,可以更好地解释我想要实现的目标。我有 2 个笑脸 (500 x 500),我需要将其多次粘贴到默认的 800 x 800 图像上(居中)以生成 2 个单独的 800 x 800 图像。

示例

最佳答案

你已经快到了,你可以使用带有偏移量的 .paste() 来粘贴到图像的中间。有点像:

Border_im = Image.open(pathToBorder)
product_im = Image.open(pathToProduct)
x_offset=150;
y_offset=150;
Border_im.paste(product_im, (x_offset,y_offset))

然后将border_im保存到一个新文件

关于python - 如何将边框图像(常量)粘贴到多个缩略图上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54238818/

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