我有一个大图像,我在PIL中调整大小,使其宽度为250像素。这是它将在我的网站上显示的宽度。
然而,分辨率非常糟糕。我发现它已经将dpi从180改为96.如果我在像Windows Paint这样的程序中调整图像大小,那么它会保持180 dpi。这个Paint-resized图像在我的网站上看起来好多了。 (经过颜色调整的图像为40kb,而PIL调整大小的图像为16kb)
如何维护dpi(或将其设置为在网站上看起来不错的最大值)
我使用PIL调整大小:
image = image.resize((new_width, new_height), Image.ANTIALIAS)
image.save(filepath)
我试过了:
dpi = image.info['dpi'] # (180, 180)
image.save(filepath, dpi = dpi)
但没有区别。 dpi是180,但分辨率仍然很差。我猜测在调整大小期间需要设置dpi吗?
编辑:
问题似乎是节约,而不是调整大小。即使我从Paint-resized图像开始(因此不会在PIL中调整图像大小),它仍然将它保存为96 dpi(16kb)的粗糙质量,保持原样。
答案 0 :(得分:10)
感谢与abarnert的讨论,我(他)意识到问题是节约,而不是调整大小。
然后我找到了这个,解决了这个问题:
image_fullsize.save(filepath+name_fullsize, quality=95)
从这里: How to adjust the quality of a resized image in Python Imaging Library?