Python将jpg图片存储成progressive报错
来源:互联网 发布:淘宝退款率高被清退 编辑:程序博客网 时间:2024/05/16 02:58
最近使用PIL来做简单的网站图片处理,但是总是出现一些问题,还好Stackoverflow上牛人太多了,搜搜也就有答案了。
1.jpg图片存储成progressive报错
web上经常要将图片转成渐进显示的格式,一边在传输图片的同时就可以在web进行比较模糊的展示。下面就是用PIL来做jpg转换的代码:
import Imageimg = Image.open("in.jpg")img.save("out.jpg", "JPEG", quality=80, optimize=True, progressive=True)报错:
Suspension not allowed hereTraceback (most recent call last): File "test.py", line 3, in <module> img.save("out.jpg", "JPEG", quality=80, optimize=True, progressive=True) File "/Library/Python/2.6/site-packages/PIL/Image.py", line 1439, in save save_handler(self, fp, filename) File "/Library/Python/2.6/site-packages/PIL/JpegImagePlugin.py", line 471, in _save ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)]) File "/Library/Python/2.6/site-packages/PIL/ImageFile.py", line 501, in _save raise IOError("encoder error %d when writing image file" % s)IOError: encoder error -2 when writing image file答案:
这个其实可以转换小图片,但大图片就会出错。解决方法就是增加bufferr。
import PILfrom exceptions import IOErrorimg = PIL.Image.open("c:\\users\\adam\\pictures\\in.jpg")destination = "c:\\users\\adam\\pictures\\test.jpeg"try: img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)except IOError: PIL.ImageFile.MAXBLOCK = img.size[0] * img.size[1] img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)简而言之就是要增加PIL.ImageFile.MAXBLOCK的值。
可参见:http://stackoverflow.com/questions/6788398/how-to-save-progressive-jpeg-using-python-pil-1-1-7?answertab=votes#tab-top
- Python将jpg图片存储成progressive报错
- 用python代码将tiff图片存储到jpg
- python将.ppm格式图片转换成.jpg格式文件
- 将pdf转换成jpg图片
- 如何将pdf图片转换成jpg
- 将pdf文件转换成jpg图片
- centos下python上传jpg格式图片报错问题IOError: decoder jpeg not available
- python 下载 JPG 图片
- AndroidStudio:图片有jpg改为png之后报错
- AndroidStudio:图片有jpg改为png之后报错
- 用java将pdf转换成jpg图片的代码
- 将一个Base64字符串转换成jpg图片的方法
- 使用libjpeg库将bmp图片压缩成jpg
- 完整的将JPG图片转换成PDF文档
- 如何将pdf转换成jpg图片的格式
- mac 如何将网页制作成图片(jpg)
- 如何将jpg转换成pdf格式的图片
- 将pdf文档内容转换成jpg图片的方法
- 通过 Win+R 快捷键来快速打开应用软件
- GetStartupInfo
- 1.3 连续与重定向指令
- linux下众多压缩文件的解压方法汇总
- 终于会写接口了- -。。
- Python将jpg图片存储成progressive报错
- ARM&LINUX学习笔记(3)---安装交叉编译器
- Android里merge和include标签的使用
- Java线程安全总结
- Android开发之eclipse 快捷键
- linux部署 启动停止jboss常用操作
- 如何查看SQL2005连接数量
- SurfaceView运行机制详解—剖析Back与Home按键及切入后台等异常处
- Linux下Eclipse中创建tomcat失败