首页 > 解决方案 > 我可以在不扭曲像素的情况下调整图像大小吗?

问题描述

我正在查看 python 图像库并尝试用它调整像素艺术的大小,但是每当我调整它的大小时,它就会变得扭曲和奇怪,有什么方法可以保持像素的比例吗?

在这里你可以看到我想要做的一个例子:

原始图像

调整大小的图像

但是使用 PIL 会变成这样:

使用 PIL 调整大小的图像

这是正在使用的代码:

from PIL import Image
original = Image.open("original.png")
resized = original.resize((1024,1024))
resized.save("resized.png")

提前致谢。

标签: pythonpython-imaging-library

解决方案


您可能希望通过获取原始图像的宽度和高度来确保保持纵横比。对新宽度使用固定值,然后将固定值除以宽度(例如)以获得乘数(如果您没有固定宽度或高度,您也可以直接在宽度和高度上使用乘数心里)。将高度乘以该乘数,您将获得新的高度。例如:

from PIL import Image
original = Image.open("original.png")

new_width = 1024
multiplier = new_width / original.width
new_height = original.height * multiplier

resized = original.resize((new_width, new_height))
resized.save("resized.png")

请注意,显着更改光栅图像的大小会影响质量。


推荐阅读