python - PIL png 调整为较小的分辨率使文件大小更大

标签 python image resize python-imaging-library

我正在使用 python 的 PIL 调整 .png 文件的大小。由于某种原因,文件大小比原始文件大 3 倍,即使我降低了分辨率。那么如何正确保存文件呢?

测试1: png(6kb, 200x200) >> png(17kb, 100x100) <--我关心的
测试2: png(6.7mb,3600x2025) >> png(7.0mb,3555x2000)
测试3: png(6.7mb,3600x2025) >> png(0.1mb,355x200)

img = Image.open(file_path)
img = img.resize((100, 100), Image.ANTIALIAS)
img.save(file_path, optimize=True)

当前结论:看起来与大 PNG 没有太大区别,所以我可以继续我的程序。尽管尺寸增加仍然很愚蠢。

这个话题已经被讨论得差不多了:
How to reduce the image file size using PIL
how to reduce png image filesize in PIL

最佳答案

抗锯齿可以增加图像尺寸。考虑只有黑色或白色像素的图像。这很容易压缩到非常小的尺寸。但是假设您使用抗锯齿缩小了图像。现在突然之间你就有了更多的颜色。

尽管它看起来更小,但实际上需要存储更多信息。

这在非常小的图像上变得更加明显,其中两者之间的比率要大得多。

关于python - PIL png 调整为较小的分辨率使文件大小更大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002490/

相关文章:

python - 在列表解析中实现三元条件运算符

css - 如何使用 CSS 在 ReactJS 中将图像居中

jquery - 调整窗口大小时保持表格纵横比

java - 缓慢/跳跃地调整大小

algorithm - 图像压缩算法 - 按颜色将图像分成正方形

iphone - 调整 uinavigationbar 推送/弹出 View Controller 大小问题

python - 在 Python input() 函数中插入分隔符

python - Django 中的日期时间问题

python - 检查一个列表中某个值在单独列表中最常出现的情况

java - 如何将图像添加到图像数组?