python实现GIF,PNG,JPG图片转换报错解决
首先贴出我在别人博客上查到的一段代码
im = Image.open('image.gif')
def iter_frames(im):try:i= 0while 1:im.seek(i)imframe = im.copy()if i == 0:palette = imframe.getpalette()else:imframe.putpalette(palette)yield imframei += 1except EOFError:pass
for i, frame in enumerate(iter_frames(im)):frame.save('image.png',**frame.info)
经检验,我把gif转换成了png
但是我把gif转换成jpg的时候,报出如下错误
Traceback (most recent call last):File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\PIL\JpegImagePlugin.py", line 612, in _saverawmode = RAWMODE[im.mode]
KeyError: 'P'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "C:/Users/Administrator/PycharmProjects/untitled/tran.py", line 31, in <module>frame.save(r'C:\Users\Administrator\Desktop\r'+'.jpg',**frame.info)File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\PIL\Image.py", line 2134, in savesave_handler(self, fp, filename)File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\PIL\JpegImagePlugin.py", line 614, in _saveraise OSError("cannot write mode %s as JPEG" % im.mode)
OSError: cannot write mode P as JPEG
此时需要再加上一句
im = im.convert('RGB')
附上完整的代码,粘贴复制注意修改图片路径
关于PIL和PILLOW的问题,可以去下面这个链接了解
点击了解PIL和PILLOW
from PIL import Image
im = Image.open(r'image.gif')#打开gif格式的图片
im = im.convert('RGB')
def iter_frames(im):try:i= 0while 1:im.seek(i)imframe = im.copy()if i == 0:palette = imframe.getpalette()else:imframe.putpalette(palette)yield imframei += 1except EOFError:pass
for i, frame in enumerate(iter_frames(im)):frame.save(r'destpath'+'.jpg',**frame.info)#保存成jpg格式
python实现GIF,PNG,JPG图片转换报错解决相关推荐
- vue 动态加载图片路径报错解决方法
vue 动态加载图片路径报错解决方法 参考文章: (1)vue 动态加载图片路径报错解决方法 (2)https://www.cnblogs.com/qingcui277/p/8930507.html ...
- Python中使用pip安装第三方库报错解决方法
参考:https://blog.csdn.net/answerxiaoai/article/details/104297187 在安装Google开源维护的算法优化求解器Ortools时出现错误,采用 ...
- 解决python通过pip离线安装flask,numpy报错解决(centos)
1. 离线安装Python https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 解压,编译,安装 tar xzvf Python-3.7. ...
- 记一次p2v转换报错解决
一台rhel6.9的物理机做p2v时报如下错误 FAILED: An error occurred during the conversion: 'KeepOneBootEntry: There is ...
- Python 中文注释报错解决方法
Python 中文注释报错解决方法 参考文章: (1)Python 中文注释报错解决方法 (2)https://www.cnblogs.com/cjiong/p/5881983.html 备忘一下.
- 全局scss封装引入背景图片路径报错
最近使用scss做了全局的mixin封装,用到背景图,意外发现通过相对路径引入图片后报错,大致意思为图片路径不对,改为了使用@代替src路径引入图片依然报错,一番百度后带出解决方案通过 ~@ 代替sr ...
- java fastjson 泛型_解决fastjson泛型转换报错的解决方法
错误信息 Exception in thread "main" java.lang.ClassCastException: com.alibaba.fastjson.JSONObj ...
- Python语言importError:cannot import name ‘InvalidArgumentException‘报错的解决方法:
Python语言importError:cannot import name 'InvalidArgumentException'报错的解决方法: 参考文章: (1)Python语言importErr ...
- VsCode配置Python开发环境后运行代码会报错“无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1”
问题描述:在VsCode中配置Python开发环境后运行代码会报错"无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1&quo ...
- python︱模块加载(pip安装)以及pycharm安装与报错解决方式
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 准备放下R开始学python,真是痛苦,因为找 ...
最新文章
- u2net encode
- 阿里云Redis开发规范[转]
- 整合.NET WebAPI和 Vuejs——在.NET单体应用中使用 Vuejs 和 ElementUI
- 三态门三个状态vhdl_温故知新,高阻态和三态门
- 前端windows下常用的CMD 命令归纳
- rk3399_android7.1关于看门狗驱动的实现原理说明
- AirServer Mac Airplay投屏工具
- 移动友华PT924光猫获取超级用户方法
- php-screw 安装,liunx 下安装 php_screw 扩展 以及报错处理
- 微软服务器系统版本有几个,windows系统有几个版本
- 三年高级开发,六年成为架构师,到CTO我用了12年
- 李航统计学习方法总结与整理
- 情人节有哪些礼物可以送给男朋友的,情人节送礼推荐
- Pr 复古胶片老电影回忆效果
- 手动对整盘抓轨的APE(没有CUE文件)进行分轨
- 域名转为服务器IP地址的几种方式
- Pie Chart(nvd3)
- 湖南工业大学电费数据抓取(完美校园版)
- 2010年1月27日俱乐部活动,李开复博士与CTO俱乐部会员 讲座交流会
- idea的英文是什么意思_idea是什么意思_idea的音标_idea的复数_英语巴士双语词典...