【发布时间】:2013-10-15 18:19:03
【问题描述】:
我有一个大图像,我在 PIL 中调整了它的大小,使其宽 250 像素。这是它将在我的网站上显示的宽度。
但是,分辨率真的很差。我看到它已将 dpi 从 180 更改为 96。如果我在 Windows Paint 之类的程序中调整图像大小,那么它会保持 180 dpi。在我的网站上,这个经过 Paint 调整大小的图像看起来好多了。 (paint调整大小的图像是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) 而不是保持原样。
【问题讨论】:
-
这是我尝试过的解决方案,但没有奏效
-
Paint 只是忽略 DPI。但是网络浏览器也是如此,除非你专门做 Retina 特定(或非 Apple 等效)的 CSS。如果它是 250 像素宽,并将其放置在 250 像素的
img标签中,则 DPI 无关紧要。 -
有些不同,因为 40kb 的图像看起来比 16kb 的图像好得多,尽管两者都是 250px 宽。
-
@user984003: 你用什么格式保存文件?是JPG还是其他有损的?
-
它以 jpg 开头,这就是我保存的格式。
标签: python python-imaging-library