我有几个.png是586 x 428.我需要将它们转换为512 x 512的.png。我想这样做而不会拉伸图像。所以基本上,我想将宽度缩小到512,然后在原始图像的上方和下方的高度上添加相同数量的透明度。
因此,最终产品将是一个512 x 512的.png,顶部和底部高度为69px的透明度,使图像的“彩色”部分为512 x 374。
我正在尝试使用Python Imaging Library执行此操作。我对此很陌生,所以如果有人可以帮助我,那将非常感激。
答案 0 :(得分:2)
好的,你发布问题已经两个小时了。既然你还没有发布代码而且没有人发布过答案,那么这里就是让你开始的东西:
(0, 69, 512, 441)
(0,0,512,69)
和(0,441,512,512)
希望能帮助您入门
答案 1 :(得分:1)
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