【python】Python生成GIF动图,多张图片转动态图,pillow

pip install pillow

示例代码:

python 复制代码
from PIL import Image, ImageSequence

# 图片文件名列表
image_files = ['car.png', 'detected_map.png', 'base64_image_out.png']

# 打开图片
images = [Image.open(filename) for filename in image_files]

# 设置输出 GIF 文件名
output_gif = 'output.gif'

# 将图片保存为 GIF
images[0].save(
    output_gif,
    save_all=True,
    append_images=images[1:],
    duration=2000,  # 设置每张图片的显示时间(毫秒)
    loop=0,  # 设置循环次数,0 表示不循环
)

print(f'GIF 文件已创建: {output_gif}')

将某个路径的所有图片按名称排序后,转为gif文件:

clike 复制代码
import os
from PIL import Image, ImageSequence

# 目标路径
target_path = './images'

# 获取目录下所有文件
all_files = os.listdir(target_path)

# 筛选出图片文件
image_files = [os.path.join(target_path, filename) for filename in all_files if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.gif'))]

# 按照文件名排序
sorted_image_files = sorted(image_files)

# 打开图片并调整为相同的模式
images = [Image.open(filename).convert('RGBA') for filename in sorted_image_files]

# 设置输出 GIF 文件名
output_gif = 'output.gif'

# 将图片保存为 GIF
images[0].save(
    output_gif,
    save_all=True,
    append_images=images[1:],
    duration=2000,  # 设置每张图片的显示时间(毫秒)
    loop=0,  # 设置循环次数,0 表示不循环
)

print(f'GIF 文件已创建: {output_gif}')
相关推荐
→长歌10 分钟前
2026Java面试30题精解
java·python·面试
小CC吃豆子11 分钟前
C/C++中 int 的最大最小值
c语言·开发语言·c++
Bert.Cai12 分钟前
pymysql自动提交设置
开发语言·python
吃一根烤肠19 分钟前
Python调试革命:用ChatGPT Copilot快速定位复杂bug
python·chatgpt·copilot
欧米欧20 分钟前
C++模板初阶
开发语言·c++
酉鬼女又兒23 分钟前
零基础快速入门前端蓝桥杯Web考点深度解析:var、let、const与事件绑定实战(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6·html5
IT从业者张某某38 分钟前
Dockerfile详解
java·开发语言
南境十里·墨染春水39 分钟前
C++笔记 类模板(面向对象)
开发语言·c++·笔记
小白学大数据44 分钟前
攻克滑动拼图反爬:Python 高效爬取网页图片实战案例
开发语言·爬虫·python
煜磊44 分钟前
C/C++语言部署安装_C/C++Api学习
开发语言·c++