当前位置: 首页 > news >正文

【办公类-99-06】20250512用Python制作PPT的GIF照片动图(统一图片大小、自定义不同切换秒数,以蝴蝶为例)

背景说明:

本周三就是督导复验,汇报PPT还在优化中……

原来PPT一页插入多张图片,我都是用美图的GIF做

存在问题:

1、每次都要打开链接,全选所有图片,才能导入

2、导入后的照片背景大小,默认为全部导入照片中最高、最宽的图片尺寸,导致一些小一点的照片会出现难看的白边。

3、切换时间最多2秒,而做PPT,一般最少也要3秒一张图

4、图片尺寸最大2000像素(再大就模糊了)

5、保存后输入文件名称。选择路径保存

6、需要转移GIF图片时,必须关闭美图软件,才能调用GIF图片

之前我一直觉得美图GIF比人工做切换动画方便多了,但是可选参数太少。

不过因为制作次数不多,都是用美图GIF做了。它已经提高了不少效率。

实际需求:

这次督导汇报又是大量的照片,为了能够最大化呈现照片效果,就需要合并GIF。

这次我想问问deepseek,是否可以用Python快速做JPG图片的GIF动画效果。

第1种效果:每张图片切换3秒

结果是可行的。所以我把照片默认为3秒,快速做出了GIF图片

(以蝴蝶为例)

'''
汇报PPT,把JPG图片合并为动态GIF,间隔时间可设置
deepseek,阿夏
20250512
'''from PIL import Image
import osm = int(input('间隔几秒\n'))def create_gif_from_images(folder_path, output_gif, target_size=(1024, 720)):"""将文件夹中的所有图片合并为GIF参数:folder_path: 包含图片的文件夹路径output_gif: 输出的GIF文件名target_size: 目标图片大小 (宽, 高)"""# 获取文件夹中所有图片文件(不含GIF图片)image_files = []for file in os.listdir(folder_path):if file.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.jifi')):image_files.append(os.path.join(folder_path, file))if not image_files:print("文件夹中没有找到图片文件!")returnprint(f"找到 {len(image_files)} 张图片")# 打开所有图片并调整大小images = []for i, image_file in enumerate(image_files):try:img = Image.open(image_file)# 直接拉伸到目标尺寸(不保持比例)img = img.resize(target_size, Image.LANCZOS)images.append(img)except Exception as e:print(f"无法处理文件 {image_file}: {e}")if not images:print("没有有效的图片可以处理!")return# 设置每帧的持续时间(毫秒)durations = [m * 1000] * len(images)  # 所有帧相同时间# 保存为GIFimages[0].save(output_gif,save_all=True,append_images=images[1:],duration=durations,loop=0,  # 无限循环quality=100,  # 高质量optimize=True  # 优化GIF)print(f"GIF已成功保存为 {output_gif}")# 使用示例
if __name__ == "__main__":path = r'C:\Users\jg2yXRZ\OneDrive\桌面'names = input('请输入文件夹名称: '

相关文章:

  • 家具制造行业的现状 质检LIMS如何赋能家具制造企业质检升级
  • 学习黑客5 分钟深入浅出理解系列之 Windows 资源监视器
  • LeetCode 热题 100_只出现一次的数字(96_136_简单_C++)(哈希表;哈希集合;排序+遍历;位运算)
  • Windows 安装 Milvus
  • 基于ESP32的健康智能机器人
  • 使用conda导致无法找到libpython动态库
  • 高粘度、强腐蚀介质解决方案:V型气动带手动活塞式开关调节球阀的五大核心优势-耀圣控制
  • react项目阅读记录
  • 做为一个平台,给第三方提供接口的时候,除了要求让他们申请 appId 和 AppSecret 之外,还应当有哪些安全选项,要过等保3级
  • 加固python文件
  • 用短说社区搭建的沉浸式生活方式分享平台
  • MyBatis-Plus使用 wrapper.apply() 添加自定义 SQL 片段
  • 多线程下的事务失效及解决形式
  • NVMe-oF(NVMe over Fabrics)
  • 图灵爬虫练习平台第九题js逆向
  • 计网学习笔记———通信知识(计算机网络通信单独讲)
  • Flask支持哪些日志框架
  • LC滤波器与电感、电容的区别:技术分析与应用
  • 手机电池健康提示怎么看?
  • [redis进阶六]详解redis作为缓存分布式锁
  • 印称印巴军事行动总指挥同意将局势降级
  • 射箭世界杯上海站摘得两银,中国队新周期冲击韩国缩小差距
  • 普京提议于15日在土耳其恢复俄乌直接谈判
  • “拼好假”的年轻人,今年有哪些旅游新玩法?
  • 重庆大学通报本科生发14篇SCI论文处理结果
  • A股三大股指低收:银行股再度走强,两市成交11920亿元