【python使用 Pillow 库】图片合成为 GIF 动画

复制代码
from PIL import Image

image_files = ["big-300-frame/frame0.png",
               "big-300-frame/frame1.png",
               "big-300-frame/frame2.png",
               "big-300-frame/frame3.png",
               "big-300-frame/frame4.png"]
images = []
for file in image_files:
    image = Image.open(file)
    #todo 可在此处理每一帧图片
    images.append(image)

if __name__ == "__main__":
    images[0].save("tempPetPet-66666666.gif", "GIF", save_all=True, append_images=images[1:], duration=120, transparency=0,loop=0 ,disposal=3)

save() 方法参数解释

filename:保存图像的文件名(包括路径)。

format:保存图像的格式。常见的格式有 JPEG、PNG、GIF 等。可以根据文件扩展名自动推断格式,也可以显式指定。例如,"JPEG"、"PNG"、"GIF"。

save_all:一个布尔值,指示是否保存所有帧(仅适用于多帧图像,如 GIF)。默认为 False。如果设置为 True,则会保存所有帧;如果设置为 False,则只保存第一帧。

append_images:一个图像列表,包含要附加到保存的图像后面的其他帧(仅适用于多帧图像,如 GIF)。

duration:帧之间的延迟时间(以毫秒为单位)。仅适用于多帧图像,如 GIF。

transparency:一个整数值,指定透明颜色的索引(仅适用于 GIF 图像)。默认为 None,表示没有透明颜色。

loop:一个整数值,指定循环次数(仅适用于 GIF 图像)。默认为 0,表示无限循环。

disposal:一个整数值,指定帧的处理方式(仅适用于 GIF 图像)。默认为 0,表示未指定处理方式。

相关推荐
m0_73494979几秒前
JavaScript 中的 setTimeout 是否依赖系统时钟?
jvm·数据库·python
2301_817672261 分钟前
Python Selenium怎么定位元素_By.XPATH与By.CSS_SELECTOR操作DOM节点
jvm·数据库·python
2501_914245932 分钟前
JavaScript中闭包结合代理模式Proxy实现数据监听
jvm·数据库·python
m0_493934534 分钟前
WordPress 动态变量短代码:基于用户输入自动匹配预设值的高效实现
jvm·数据库·python
weixin_408717776 分钟前
mysql在新闻网站中的文章和评论数据库设计
jvm·数据库·python
weixin_568996069 分钟前
如何利用宝塔面板快速部署Node.js项目_配置PM2守护进程
jvm·数据库·python
代码中介商10 分钟前
C++运行时多态深度解析:从原理到实践
开发语言·c++·多态·虚函数
weixin_5860614612 分钟前
mysql如何处理表空间碎片问题_执行OPTIMIZE TABLE整理
jvm·数据库·python
qq_3422958213 分钟前
c++怎么在指定位置插入数据而不覆盖_临时文件交换法【详解】
jvm·数据库·python
m0_7467523014 分钟前
JavaScript中Number构造函数对各种类型的转换规则
jvm·数据库·python