我有几个.png是586 x 428.我需要将它们转换为512 x 512的.png。我想要在不拉伸图像的情况下执行此操作。所以基本上,我想把宽度缩小到512,然后在原始图像的上方和下方添加等量的透明度。PIL - 在.png附近添加透明度
因此,最终产品将是一个巴纽是512×512,并在顶部和底部的高度透明69px,使图像的“彩色”的部分为512×374
我正在尝试使用Python Imaging Library来做到这一点。我对此很新,所以如果有人可以帮助我,这将非常感激。
我有几个.png是586 x 428.我需要将它们转换为512 x 512的.png。我想要在不拉伸图像的情况下执行此操作。所以基本上,我想把宽度缩小到512,然后在原始图像的上方和下方添加等量的透明度。PIL - 在.png附近添加透明度
因此,最终产品将是一个巴纽是512×512,并在顶部和底部的高度透明69px,使图像的“彩色”的部分为512×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
好的,您发布问题已经过了两个小时。既然你还没有发布的代码,没有人张贴了一个答案,这里的东西我可以让你开始:
(0, 69, 512, 441)
(0,0,512,69)
和(0,441,512,512)
希望帮助您开始
我写了一个模块,大部分这 https://github.com/jvanasco/imagehelper 人们可以砍掉相关的位,并使用上面的线索,在很短的时间内有一些功能齐全。 –
你有没有发布之前做了任何研究吗? [这个问题](http://stackoverflow.com/questions/273946/how-do-i-resize-an-image-using-pil-and-maintain-its-aspect-ratio)结合[这另一个] (http://stackoverflow.com/questions/4379978/python-pil-how-to-make-area-transparent-in-png)应该解决你的问题。 – inspectorG4dget
建议的话,除了以前的评论......这些类型的问题几乎总是需要一个你到目前为止的代码示例。否则,别人可以给出的唯一答案只是一个完整的解决方案。我们不知道从哪里开始。 – jdi
从我的[这个重复问题的答案中的第一个示例](http://stackoverflow.com/a/9103783/496445)的确切代码应该适用于您的问题。 – jdi