Python PIL,在调整大小和保存时保持质量

2024-04-27 13:59:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大图像,我在PIL中调整大小,使其宽度为250像素。这是宽度,它将显示在我的网站上。

然而,决议真的很糟糕。我看到它已经将dpi从180改为96。如果我在Windows Paint这样的程序中调整图像大小,那么它将保持180 dpi。在我的网站上,这个油漆大小的图片看起来好多了。(油漆大小的图像为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?

编辑:

问题似乎是保存,而不是调整大小。即使我从调整了大小的图像开始(因此不要在PIL中调整图像大小),它仍然将其保存为糟糕的质量96dpi(16kb)的intead。


Tags: 图像image程序new宽度pil网站windows
1条回答
网友
1楼 · 发布于 2024-04-27 13:59:13

多亏了与abarnert的讨论,我(他)才意识到问题在于节约,而不是调整大小。

然后我找到了这个,解决了这个问题:

image_fullsize.save(filepath+name_fullsize, quality=95)

从这里开始: How to adjust the quality of a resized image in Python Imaging Library?

相关问题 更多 >