我使用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. 如何减少iPhone中的摄像头图像文件大小?
- 3. 减少uclinux图像大小
- 4. 减少内存中的PIL图像大小
- 5. 如何减少java中的图像文件大小
- 6. 使用Ghostscript减少PDF文件大小
- 7. 用Cocoa减少图像字节大小
- 8. 如何减少swf文件大小flex
- 9. 减少.XAP文件大小?
- 10. 减少SWF文件大小
- 11. 减少散点图的文件大小
- 12. 我们可以用php减少图像文件大小吗?
- 13. 增加/减少图像大小,网站
- 14. 减少图像尺寸增加文件大小C#
- 15. 减少图像文件的大小,但保持质量,与samle
- 16. 如何减少jar大小
- 17. 如何减少UIImage大小...?
- 18. 使用PIL可以减少图像的深度吗?
- 19. 减少位图大小
- 20. 如何使用PIL获取图像大小(字节)
- 21. 如何在我们上传时减少codeigniter中图像的文件大小?
- 22. 使用固定格减少图像的大小
- 23. 不使用Dockerfile减少码头图像大小
- 24. 合并两个图像 - > 4倍大小!如何减小文件大小?
- 25. 如何减少NTFS中文件夹索引文件的大小?
- 26. 如何减少BIRT生成PDF与背景图像的大小?
- 27. 如何减少大小和裁剪幼虫图像5.2
- 28. 如何减少在Java中图像的大小
- 29. iOS:如何减少闪屏的图像大小
- 30. 如何减少嵌入图像的RTF大小?
你认为“太多”的质量损失是什么?如果要将文件大小减少10到20倍,最简单的方法就是减少像素数量。将宽度和高度减少2/3会给你一张约1/9原始尺寸的图片。但这是相当多的解决方案,你放松。 –