记录webp图像转gif(python webp格式转换)

最近在转换webp图像为gif格式的时候遇到一些坑,避免以后再踩遂记录一下。

1.转换方法

        转换方法很简单,主要是利用python的pillow包,转存一下就可以了。但是我这样做遇到了一些问题。(PS:如果不加save_all=True,则只会保存gif的第一帧图,即gif不会动)

from PIL import Image

def webp2gif(webp_path, gif_path, mode='gif'):
    webp = Image.open(webp_path)
    webp.save(gif_path, mode, save_all=True)

2.遇到的坑

1.pillow报错无法识别图像格式

已经确认安装了pillow,并且通过以下代码确认了包含webp支持,但还是报错。

from PIL import features

print(features.check_module('webp')) # 期待输出True

解决:

        1)pillow版本的问题,建议更新到最新版的pillow;

        2)还有就是conda的锅,如果使用的conda安装的pillow,就可能遇到这个问题。解决办法是先用conda卸载掉pillow,再通过pip安装pillow。

2.代码不会报错,能够转换成功,但是转换后的gif图像无法读取

解决办法出处

简单点说就是在save方法里加个参数  background=0 :

# 转换后无法读取
webp.save(gif_path, mode, save_all=True)

# 解决办法
webp.save(gif_path, mode, save_all=True, background=0)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值