Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PIL-在.png周围添加透明度_Python_Python Imaging Library - Fatal编程技术网

Python PIL-在.png周围添加透明度

Python PIL-在.png周围添加透明度,python,python-imaging-library,Python,Python Imaging Library,我有几个.png是586 x 428。我需要将它们转换为512 x 512的.png。我想在不拉伸图像的情况下执行此操作。因此,基本上,我想将宽度缩小到512,然后在原始图像上方和下方的高度添加等量的透明度 因此,最终的结果将是一个.png,即512x512,顶部和底部的透明度为69px,将图像的“有色”部分保留为512x374 我正试图用Python图像库来实现这一点。我是个新手,如果有人能帮我,我将不胜感激。好的,你发布这个问题已经两个小时了。由于您没有发布代码,也没有人发布答案,下面是一些

我有几个.png是586 x 428。我需要将它们转换为512 x 512的.png。我想在不拉伸图像的情况下执行此操作。因此,基本上,我想将宽度缩小到512,然后在原始图像上方和下方的高度添加等量的透明度

因此,最终的结果将是一个.png,即512x512,顶部和底部的透明度为69px,将图像的“有色”部分保留为512x374


我正试图用Python图像库来实现这一点。我是个新手,如果有人能帮我,我将不胜感激。

好的,你发布这个问题已经两个小时了。由于您没有发布代码,也没有人发布答案,下面是一些可以帮助您开始的内容:

  • 加载源图像
  • 至512x534
  • 制作大小为512x512的新图像
  • 将调整大小的像素复制到新图像中的矩形中,其角点为
    (0、69、512、441)
  • (0,0512,69)
    (0441512512)

  • 希望这能帮助你入门

    在发布之前,你对此做过任何研究吗?结合应该可以解决你的问题。建议的话,除了前面的评论。。。这类问题几乎总是需要一个代码示例来说明您到目前为止所掌握的知识。否则,人们能给出的唯一答案就是一个完整的解决方案。我们不知道从什么地方开始。来自的确切代码应该可以解决您的问题。请看@jdi的答案(链接在上面的评论中)第二个答案链接在我的评论中。这两个答案会让你找到你需要的可能的副本。我写了一个模块,它完成了这一部分的大部分工作,可以从中提取出相关的部分,并利用上面的线索在短时间内实现完全功能。
    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