2013-10-15 276 views
4

我有一個大圖像,我在PIL中調整大小,使其寬度爲250像素。這是它在我的網站上顯示的寬度。Python PIL,保存質量時調整大小和保存

但是,該決議是非常糟糕的。我發現它已將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)的蹩腳質量,保持原樣。

+1

這是我試過的解決方案,它沒有工作 – user984003

+0

塗料只是忽略了DPI 。但是網頁瀏覽器也是如此,除非您專門製作Retina特定(或非Apple等效)的CSS。如果寬度爲250像素,並將其放置在250像素的'img'標籤中,則DPI無關緊要。 – abarnert

+0

有些東西是不同的,因爲40kb圖像看起來比16kb圖像更好,即使它們都是250px寬。 – user984003

回答