多个image转为gif

一、需求:

实现将多个image转为gif的功能,因为有时方便展示。


二、算法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import imageio
import os

def create_gif(img_dir, image_list, gif_name, duration=0.05):
frames = []
for image_name in image_list:
print("image_name={0} img_dir={1}".format(image_name, img_dir))
frames.append(imageio.imread(img_dir + '/'+ image_name))
imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
return

def main():
a = input("是否准备好步骤1 yes|no:")
if (a=='yes'):
img_dir = './image2gif'
duration = input("输入每帧间隔单位[秒]:") # 间隔s
image_list = os.listdir(img_dir + '/')
gif_name = img_dir+'.gif'
create_gif(img_dir, image_list, gif_name, duration)
print('\n')
print("合并完成_拜拜啦!")
else:
print("不要闹!!!")
main()

if __name__ == '__main__':
print("-------------------------------------------------------------------")
print("功能:将多个image合并为一个gif文件")
print("使用说明:")
print(" 1、将需要合并的image放入到image2gif文件夹(与程序同级)中")
print(" 2、可以调整每帧的时间间隔")
print("-------------------------------------------------------------------")
main()


三、实际应用:

将下列图片合并为一个gif

  1. 将所有图片放在文件夹image2gif中
  2. 设置好每帧的间隔1s

待合并图


  1. 效果如下

合并图


四、python程序转为exe:

  1. 安装库pip install pyinstaller
  2. 打开cmd,进入到python文件所在的目录
  3. 输入命令: pyinstaller -F 文件名.py
  4. 打开python目录文件夹,exe文件就在dist下
  5. 上述程序转为exe后如下:

exe文件