zjg121 发表于 2024-3-29 12:28

图片2视频之一:把文件夹中的png合成一个gif动图

大家有需要,学习有动力!# 把图片合成gif
from PIL import Image
import os

# 创建一个包含文件夹中多张图片的列表
folder = 'd:/图片'
# 获取文件夹中所有.png的文件
image_files =
# 排序文件名
image_files.sort()

# 把文件列表里的图片合成一个gif
images =
# 图片的延迟时间设为1000ms
images.save('d:/output.gif', save_all=True, append_images=images, optimize=True, duration=1000, loop=0)

wtuocm 发表于 2024-9-30 08:15

本帖最后由 wtuocm 于 2024-9-30 08:17 编辑

from PIL import Image
import os

# 创建一个包含文件夹中多张图片的列表
folder = 'd:/图片'
output_path = 'd:/output.gif'

# 获取文件夹中所有的jpg和png文件
image_files =
# 排序文件名
image_files.sort()

images = []
max_size = (500, 800)# 最大尺寸
# 打开图片,处理异常,按比例缩放
for f in image_files:
    try:
      img = Image.open(os.path.join(folder, f))
      img.thumbnail(max_size)# 按比例缩放
      images.append(img.convert('P', palette=Image.ADAPTIVE))# 确保使用调色板
      #images.append(img_cropped)
    except Exception as e:
      print(f"无法加载图片 {f}: {e}")

# 创建GIF前检查是否有有效图片
if images:
    images.save(output_path, save_all=True, append_images=images, optimize=True, duration=1000, loop=0)
    print(f"GIF已成功生成,保存路径为: {output_path}")
else:
    print("没有可以合成的图片,请检查图片格式和路径。")      楼主在你的基础上做了一些小的调整。

mebyan 发表于 2024-3-29 15:27

iore 发表于 2024-3-29 12:54

好东西~{:1_921:}这个可以试试!

saccsf 发表于 2024-3-29 13:30

shawnzh 发表于 2024-3-29 13:39

学习思路

kakrate 发表于 2024-3-29 14:11

这个有意思咧,回去试试

happyday1238 发表于 2024-3-29 14:21

这个代码要怎么用,求指点

tvb318 发表于 2024-3-29 14:23

其它图片格式可以不

dork 发表于 2024-3-29 14:58

学习一下楼主的思路

serving 发表于 2024-9-29 21:18

{:1_893:},请教一下,怎生调整生成gif图片质量。生成出来有些模糊。
页: [1] 2
查看完整版本: 图片2视频之一:把文件夹中的png合成一个gif动图