我有几个 586 x 428 的 .png。我需要将它们转换为 512 x 512 的 .png。我想这样做而不拉伸图像。所以基本上,我想将宽度缩小到 512,然后在原始图像上方和下方的高度添加等量的透明度。
因此,最终产品将是一个 512 x 512 的 .png,顶部和底部的透明度为 69 像素,图像的“彩色”部分为 512 x 374。
我正在尝试使用 Python Imaging Library 来做到这一点。我对此很陌生,所以如果有人可以帮助我,那将不胜感激。
我有几个 586 x 428 的 .png。我需要将它们转换为 512 x 512 的 .png。我想这样做而不拉伸图像。所以基本上,我想将宽度缩小到 512,然后在原始图像上方和下方的高度添加等量的透明度。
因此,最终产品将是一个 512 x 512 的 .png,顶部和底部的透明度为 69 像素,图像的“彩色”部分为 512 x 374。
我正在尝试使用 Python Imaging Library 来做到这一点。我对此很陌生,所以如果有人可以帮助我,那将不胜感激。
from PIL import Image
def adjust(image):
image = image.convert('RGBA')
width, height = image.size
new_width = 512
new_height = new_width * height // width
image = image.resize((new_width, new_height), resample=Image.ANTIALIAS)
new_image = Image.new('RGBA', (512, 512), (0, 0, 0, 0))
upper = (512 - image.size[1]) // 2
new_image.paste(image, (0, upper))
return new_image