本课时我们主要学习如何用Python来生成一个个性的gif图。
掌握本课时的内容,你将可以用Python个性定制自己的gif图片,而且不限数量。相较于一些在线生成gif图的平台来说,运用python,你将更加随心所欲地发挥自己的创意。
所谓的gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.
在网络上,我们经常会看到利用蜡笔小新的图片来制作一系列连续的动态图,本课时就教大家如何来实现它。
如何利用Python快速合成gif图,这里主要利用Python的第三方库imageio。imageio是一个非常好用的第三方库,它提供了很多方便读写图片的接口、包括读取网络图片、读取视频、生成gif图等
一、准备工作
1、准备图片素材
建立一个img文件,里面存放要用来制作gif的静态图片,图片按数字顺序命名
2、安装imageio库
按住win+R打开命令行窗口,输入
pipinstallimageio
安装该模块
二、开始编程
1、添加模块
importimageio
2、建立原始图片路径列表
img_paths=[img/1.jpg,img/2.jpg,img/3.jpg,img/4.jpg,img/5.jpg,img/6.jpg,img/7.jpg,img/8.jpg,]
3、建立gif图片空列表
gif_images=[]
4、将图片添加到gif列表中
forpathinimg_paths:gif_images.append(imageio.imread(path))
5、生成并保存gif图片
imageio.mimsave(test.gif,gif_images,fps=1)
注意:
通过fps参数可以控制合成gif图片播放图片的速度和视频的播放帧率是一样的,fps参数越大播放的速率越大,fps越小播放的速度越慢.大家可以试试看不同大小的fps实现出来的效果有何不同吧
三、完整代码实现
importimageiodef