当前位置: 首页 > 后端技术 > Python

Python3实现gif反向播放,多张图片生成gif

时间:2023-03-26 12:40:57 Python

原文链接何晓东的博客是娱乐码。将表情符号gif颠倒过来非常有趣。这是给自己的小玩具。操作是将图片读入框内,倒置合并,成为新的图片。完成。效果:翻转前后代码如下:#encoding:utf-8fromPILimportImage,ImageSequence#ReadGIFim=Image.open("nba.gif")#GIF图像流的迭代器iter=ImageSequence.Iterator(im)index=1#遍历图像流的每一帧forframeiniter:print("image%d:mode%s,size%s"%(index,frame.mode,frame.size))frame.save("./images/frame%d.png"%index)index+=1#frame0=frames[0]#frame0.show()#将GIF分割成图像流imgs=[frame.copy()forframeinImageSequence.Iterator(im)]#将图像流重新生成为GIF动画#imgs[0].save('out.gif',save_all=True,append_images=imgs[1:])#反转图像流imgs.reverse()#倒序保存所有帧图imgs[0].save('./reverse_out.gif',save_all=True,append_images=imgs[1:])另外,简化版更简单#encoding:utf-8fromPILimportImage,ImageSequenceim=Image.open(r'./nba.gif')sequence=[]forfinImageSequence.Iterator(im):sequence.append(f.copy())sequence.reverse()序列[0].save(r'./r-nba.gif',save_all=True,append_images=sequence[1:])保存多张图片动态图片生成gif的代码。今年年底,你可以把每一年的照片组合成一张大gif,留作纪念。这非常有用#coding=utf8importimageioimportospath='../images'filenames=[]forfilesinos.listdir(path):iffiles.endswith('jpg')orfiles.endswith('jpeg')或files.endswith('png'):file=os.path.join(path,files)filenames.append(file)images=[]forfilenameinfilenames:images.append(imageio.imread(filename))imageio.mimsave('movie.gif',images,duration=0.3)原作者不推荐使用image2gif包,见楼某的回答当然,如果需要将一组大小相同的照片生成gif,可以emailhexiaodong1992@outlook.com参考链接:知乎CVPy专栏imageio官方文档小子,你一定很渴望-->知识来源