利用python对gif图片进行压缩处理,简单案例

背景:

前两天看到一张很有意思的图片,想转发到wx,但是wx只支持1M内的gif图片,所以,想用代码把原图压缩一下。网上在线压缩效果并不理想(要花钱),所以还是自己手动来吧!

准备:

python3.6+

依赖包:

pip install PIL

功能代码:

import imageio
from PIL import Image, ImageSequence

# 自定义压缩尺寸 rp*rp
rp = 150

# 图片缓存空间
image_list = []

# 读取gif图片
im = Image.open("11.gif")

# 提取每一帧,并对其进行压缩,存入image_list
for frame in ImageSequence.Iterator(im):
    frame = frame.convert('RGB')
    if max(frame.size[0], frame.size[1]) > rp:
        frame.thumbnail((rp, rp))
    image_list.append(frame)

# 计算帧之间的频率,间隔毫秒
duration = (im.info)['duration'] / 1000

# 读取image_list合并成gif
imageio.mimsave('c001.gif', image_list, duration=duration)

测试:

先找到一张测试gif图片:11.gif (自己随便找一张吧,懒得贴了)

然后放在caogao.py脚本的同级目录

利用python对gif图片进行压缩处理,简单案例_第1张图片

运行结果:

利用python对gif图片进行压缩处理,简单案例_第2张图片

这时候得到压缩后的图片c001.gif :

利用python对gif图片进行压缩处理,简单案例_第3张图片

 

 对比两个文件的大小:

利用python对gif图片进行压缩处理,简单案例_第4张图片

ok,效果很好,收工!

你可能感兴趣的:(python,python,开发语言)