我使用PIL通過將較大圖像轉換爲較小圖像來調整圖像大小。是否有任何標準的方法來減少圖像的文件大小而不會過多地丟失質量,可以說圖像的原始大小是100KB,我想把它縮小到5或10KB,特別是對於png和jpeg格式。如何使用PIL減少圖像文件大小
回答
查看PIL的圖像模塊的thumbnail功能。您可以使用它來將較小版本的文件保存爲各種文件類型,並且如果您想保留儘可能多的質量,請考慮使用ANTIALIAS
過濾器。
除此之外,我不確定是否有方法指定最大所需的大小。當然,您可以編寫一個函數,試圖以不同的質量保存文件的多個版本,直到滿足一定的大小,丟棄其餘的文件併爲您提供所需的圖像。
有沒有辦法通過保持尺寸不變尤其是減小文件大小。爲png格式。 –
如果您想要保持相同的尺寸,您可以嘗試的另一件事是保存圖像時設置質量設置。看看[這個答案](http://stackoverflow.com/a/1405701/369878) – Cryptite
但質量屬性沒有差別的PNG formats.even我改變質量的文件大小保持不變。 –
用於保存JPEG和PNG的內置參數是optimize
。
# My image is a 200x374 jpeg that is 102kb large
>>> foo = Image.open("path\\to\\image.jpg")
>>> foo.size
(200,374)
# I downsize the image with an ANTIALIAS filter (gives the highest quality)
>>> foo = foo.resize((160,300),Image.ANTIALIAS)
>>> foo.save("path\\to\\save\\image_scaled.jpg",quality=95)
# The saved downsized image size is 24.8kb
>>> foo.save("path\\to\\save\\image_scaled_opt.jpg",optimize=True,quality=95)
# The saved downsized image size is 22.9kb
的optimize
標誌將做圖像上的額外的傳球找到一種方法,以儘可能減小其大小。 1.9kb可能看起來並不多,但超過數百/數千張照片,它可以加起來。
現在嘗試將其下降到5kb到10 kb,您可以更改保存選項中的質量值。 在這種情況下使用的的85代替95質量將產生: 未優化:優化15.1kb :14.3kb 使用的75質量(默認如果參數被排除在外)將產生: 未優化:優化11.8kb : 11.2kb
我更喜歡質量85與優化,因爲質量不受影響太大,文件大小更小。
可以說你有 在這種情況下,所謂的書並在其上的字段名爲「cover_pic」的模型,你可以做以下的影像壓縮:
from PIL import Image
b = Book.objects.get(title='Into the wild')
image = Image.open(b.cover_pic.path)
image.save(b.image.path,quality=20,optimize=True)
希望它能幫助任何人磕磕絆絆之上。
- 1. 如何減少圖像文件大小
- 2. 減少圖像的文件大小
- 3. 減少圖像文件大小
- 4. 如何減少iPhone中的攝像頭圖像文件大小?
- 5. 減少uclinux圖像大小
- 6. 減少內存中的PIL圖像大小
- 7. 調整大小後圖像的文件大小沒有減少
- 8. 如何減少java中的圖像文件大小
- 9. 使用Ghostscript減少PDF文件大小
- 10. 用Cocoa減少圖像字節大小
- 11. 如何減少swf文件大小flex
- 12. 如何減少瀏覽器大小時的圖像大小。
- 13. 減少HTML文件大小?
- 14. 減少SWF文件大小
- 15. 減少.XAP文件大小?
- 16. 減少散點圖的文件大小
- 17. 我們可以用php減少圖像文件大小嗎?
- 18. PIL調整大小圖像
- 19. 增加/減少圖像大小,網站
- 20. 減少內存中的圖像大小
- 21. 用php減少jpeg文件大小
- 22. Mogrify在添加exif註釋時減少圖像文件大小
- 23. 由JavaScript或jquery的減少在PHP圖像文件大小
- 24. 減少圖像尺寸增加文件大小C#
- 25. 減少圖像文件的大小,但保持質量,與samle
- 26. 如何減少圖片的大小?
- 27. 如何減少UIImage大小...?
- 28. 如何減少jar大小
- 29. 如何減少UICollectionView大小
- 30. 使用PIL可以減少圖像的深度嗎?
你認爲「太多」的質量損失是什麼?如果要將文件大小減少10到20倍,最簡單的方法就是減少像素數量。將寬度和高度減少2/3會給你一張約1/9原始尺寸的圖片。但這是相當多的解決方案,你放鬆。 –