Python PIL.Image之拆解GIF图片

------------------------------------------------语法基础------------------------------------------------

import PIL.Image                            使用PIL.Image模块

img=Image.open(gif_path)              打开图片的方法,会返回一个对象,对图片的相关操作都是对这个对象的操作

img.seek(i)                                      选择某一个帧,这里不会返回新对象。此时调用save方法,其实已经保存了某一帧。

img.save(save_path)                      保存图片,参数为路径文件名

------------------------------------------------操作方法------------------------------------------------

1.打开GIF图片,返回获得的对象自动定位第0帧图片

2.保存当前帧

3.切换到下一帧

4.循环2.3步直到抛出异常。

------------------------------------------------代码实现------------------------------------------------

扫描二维码关注公众号,回复: 4718856 查看本文章

import PIL.Image as Image
import os


def gif_split(path):
    # ############################
    # 这部分用于建立一个文件夹,以便存放拆解的图片
    save_path = path[:-4]
    try:
        os.mkdir(save_path)
    except:
        pass
    # ############################
    img = Image.open(path)
    try:
        i = 0
        while True:
            print('正在拆解第{}帧...'.format(i))
            img.seek(i)
            img.save('{}/'.format(save_path) + str(i) + '.png')
            i += 1
    except:
        pass
    return save_path, i


if __name__ == '__main__':
    path = '路人甲.gif'
    save_path, i = gif_split(path)
    print('拆解完成,共得到{}张图片。所属文件:{}'.format(i,save_path))

------------------------------------------------效果展示------------------------------------------------

------------------------------------------------结语------------------------------------------------

合并GIF的操作请在我的同类其他博客查看。

猜你喜欢

转载自blog.csdn.net/qq_40878431/article/details/82939470