代码之家  ›  专栏  ›  技术社区  ›  Alex

如何用枕头调整图像大小?

  •  3
  • Alex  · 技术社区  · 5 年前

    在MacMojave上使用Python3.6.9和Pillow6.2.1,我试图用pillow调整图像的大小。下面是完整的示例代码:

    import numpy
    from PIL import Image
    
    data = numpy.zeros((100, 100, 3), dtype=numpy.uint8)
    data[50, 51] = [255, 0, 0]
    data[50, 52] = [0, 255, 0]
    data[50, 53] = [0, 0, 255]
    
    image = Image.fromarray(data)
    image.save('orig.png')
    image.resize((500,500))
    image.save('resized.png')
    

    我希望这个图像 resized.png orig.png ,但图像的大小似乎相同,并且它们的文件大小完全相同。

    是不是有个虫子 pillow 包裹还是我少了什么?

    2 回复  |  直到 5 年前
        1
  •  2
  •   Guy    5 年前

    image.resize 返回新图像,而不是更改现有图像

    def resize(self, size, resample=NEAREST, box=None):
        # ...
        return self._new(self.im.resize(size, resample, box))
    

    您需要保存返回的图像

    image = image.resize((500,500))
    image.save('resized.png')
    
        2
  •  1
  •   wookiekim    5 年前

    image = image.resize((500,500))
    

    这个 resize 不就地更改图像大小,它将返回调整大小的图像。