python - 我可以在不扭曲像素的情况下调整图像大小吗?
问题描述
我正在查看 python 图像库并尝试用它调整像素艺术的大小,但是每当我调整它的大小时,它就会变得扭曲和奇怪,有什么方法可以保持像素的比例吗?
在这里你可以看到我想要做的一个例子:
但是使用 PIL 会变成这样:
这是正在使用的代码:
from PIL import Image
original = Image.open("original.png")
resized = original.resize((1024,1024))
resized.save("resized.png")
提前致谢。
解决方案
您可能希望通过获取原始图像的宽度和高度来确保保持纵横比。对新宽度使用固定值,然后将固定值除以宽度(例如)以获得乘数(如果您没有固定宽度或高度,您也可以直接在宽度和高度上使用乘数心里)。将高度乘以该乘数,您将获得新的高度。例如:
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")
请注意,显着更改光栅图像的大小会影响质量。
推荐阅读
- wordpress - 如何在 docker 上更新 wordpress
- objective-c - NSMutableArray 未按预期实例化
- r - 根据一定的规则调整向量子集的值
- java - 错误:java.sql.sqlexception:没有为参数 1 指定值
- php - php中时间戳的格式化
- html - 使 div 项目透明,悬停时内容不透明
- javascript - 将图像添加到第一个孩子
- django - Django - 我如何确定 django 正在记录什么模块?
- javascript - JavaScript/TypeScript 转译器工作流程
- c++ - 如何从 bash 脚本捕获终端输出并将其显示在我的 Qt UI 中?