【办公类-40-02】20240311 python模仿PPT相册功能批量插入照片,更改背景颜色 (家长会系列二)

作品展示——用Python插入PPT相册

2ac0072473ff43dcaf900c3d99b36cb1.png

背景需求:

马上就要家长会,我负责做会议前的照片滚动PPT,通常都是使用PPT的相册功能批量导入照片,

54471ce6c4944268a691ecfa90c66d37.png

生成给一个新的PPT文件

fa7f9f72064743d7b6e1befa93c7a849.png

更改背景颜色

d49dad9e00bc49e7801cea59cea07ea1.png

c2742667dfed491a946949a12ab2ea01.png

设置4秒间隔,应用到全部

4734026b836547218563656729a8627e.png

保存,改名字

834c86ffbf2a43199f0dcb1dd8f86b18.png

我想用Python实现“PPT相册插入图片”的效果

参考:

1、AI对话大师

5a356e61b51840a086b25b2c97ea0244.png

2、专业代码

2、python程序24:批量导入图片至一个PPT文件 - 知乎有时候一个在做PPT的时候,可能需要很多的图片导入到文件中,那么怎么做才能准确又高效呢?今天我们写一个python用于批量导入图片至每一页PPT中,并填充图片自动匹配纵横比。 这里需要引入模块: pip install pyth…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/642958843?utm_id=0

素材准备:

54aeb2321ead475c8f678dc56eb5a5d1.png7ada6416b85e4deab54fd5d66613a14d.png

代码展示

'''
家长会PPT:相册功能插入照片(保持原图长宽比,但适应幻灯片大小),背景颜色更改
作者:
1、https://zhuanlan.zhihu.com/p/642958843?utm_id=0
2、aI对话大师 、阿夏
时间:2024年3月11日
'''from pptx import Presentation
from PIL import Image
import osdef create_slideshow(images_folder):prs = Presentation()# 设置幻灯片背景颜色为浅蓝色for slide in prs.slides:background = slide.backgroundfill = background.fillfill.solid()fill.fore_color.rgb = (79, 129, 189)  # 浅蓝色的RGB值# 设置每页切换时间为4秒prs.slide_milliseconds = 4000# 获取文件夹中的所有图片文件image_files = [file for file in os.listdir(images_folder) if file.endswith(('.jpg', '.jpeg', '.png'))]for image_file in image_files:# 打开图片并获取其宽度和高度image_path = os.path.join(images_folder, image_file)image = Image.open(image_path)width, height = image.size# 设置16:9比例的幻灯片大小prs.slide_width = 16 * 914400  # 16 inches converted to EMUsprs.slide_height = 9 * 914400   # 9 inches converted to EMUs# 计算图片在幻灯片上的大小和位置slide_width = prs.slide_widthslide_height = prs.slide_heightslide_ratio = slide_width / slide_heightimage_ratio = width / heightif slide_ratio > image_ratio:# 在幻灯片上添加带有黑色边框的图片left = (slide_width - slide_height * image_ratio) / 2top = 0prs.slides.add_slide(prs.slide_layouts[1])slide = prs.slides[-1]slide.shapes.add_picture(image_path, left, top, slide_height * image_ratio, slide_height)else:# 在幻灯片上添加带有黑色边框的图片left = 0top = (slide_height - slide_width / image_ratio) / 2prs.slides.add_slide(prs.slide_layouts[1])slide = prs.slides[-1]slide.shapes.add_picture(image_path, left, top, slide_width, slide_width / image_ratio)from pptx.dml.color import RGBColor# 设置幻灯片背景颜色为浅蓝色for slide in prs.slides:background = slide.backgroundfill = background.fillfill.solid()fill.fore_color.rgb = RGBColor(173, 216, 230)  # 浅蓝色的RGB值# 设置每页切换时间为4秒prs.slide_milliseconds = 4000# 保存幻灯片为PPT文件prs.save(r'D:\家长会PPT\20240313中4班家长会相册.pptx')# 传入存储图片的文件夹路径
create_slideshow(r'D:\家长会PPT\照片')

36c43e9c870c4de39d57d2d225896e9a.png

8fbbc7edee6d41bc854bacdf75670acb.pngc6a820d09a4e4396b9e21f04b04280e8.png

说明:

1向AI问了无数次,本文终于实现了“相册插入图片”+“背景颜色修改”“自动保存pptx名称”三个功能,

2、幻灯片每页切换和插入循环音乐还没有实现……

感悟:

用Python代码几乎5秒就生成了PPT相册导入的照片的效果,比起手动点击的诸多步骤——新建PPT-“相册”-添加路径-创建-更改背景色-应用到全部等,不知道快多少,还可以反复生成。

技术提升效率,改变思维!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/276759.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux板子vscode gdb 远程调试

板子:hi3556v200 交叉编译工具:arm-himix200-linux 主机:win10虚拟机的ubuntu16.4 gdb:gdb-8.2.tar.gz 1.在ubuntu交叉编译gdb(Remote g packet reply is too long解决) 建议修改gdb8.2/gdb目录下面的remote.c解决…

git的实际运用

1. SSH配置和Github仓库克隆 注意博主在这里演示的SSH密钥生成方式,下面追加的五行不成功时可手动到.ssh下的config文件中添加即可 $ tail -5 config Host github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/test 演示 2. 关联…

YoloV7改进策略:下采样改进|HWD改进下采样

摘要 本文使用HWD改进下采样,在YoloV7的测试中实现涨点。 论文解读 在卷积神经网络(CNNs)中,极大池化或跨行卷积等下采样操作被广泛用于聚合局部特征、扩大感受野和最小化计算开销。然而,对于语义分割任务&#xff…

C++手写链表、反转链表、删除链表节点、遍历、为链表增加迭代器

本篇博客介绍如何使用C实现链表,首先编写一个简单的链表,然后增加模板,再增加迭代器。 简单链表的实现 链表的结构如下: 首先需要定义链表的节点: struct ListNode {int data;ListNode* pNext;ListNode(int value …

使用STM32+ESP8266(ESP-01S)+点灯科技(手机端Blinker)实现远程控制智能家居

硬件准备:STM32单片机、ESP8266(ESP-01S)、CH340C下载烧录器 软件准备:STM32CubeMX、Keil uVision5、Arduino IDE、 点灯科技(手机端APP Blinker)点灯科技 (diandeng.tech)点击进入 值得注意的是&#x…

Redis:ClassCastException【bug】

Redis:ClassCastException【bug】 前言版权Redis:ClassCastException【bug】错误产生相关资源控制器:UserController("/user")配置:RedisConfiguration实体类:User数据表:User 解决 最后 前言 2…

R语言语法基础(说人话版)

在Rstudio中使用ctrl回车来执行某一行的代码 在R语言中,通常不需要像C语言一样在每条语句的结尾添加分号来表示语句结束。R语言是一种脚本语言,它使用换行符来分隔语句,因此分号通常是可选的,除非你想在同一行上写多个语句。在R中…

03-java基础-运算符(数据类型转换)、原码、补码、反码

一、运算符 一、1、算术运算符 在代码中如果有小数参与运算,结果有可能会不精确。 一、1.1、数字相加 一、1.1.1、类型转换的分类(2种) 一、1.1.1.1、类型转换的分类1-----隐式转换 一、1.1.1.1、类型转换的分类2-----强制转换 一、1.2、字符…

EtherCAT开源主站 IGH 介绍及主站伺服控制过程

目录 前言 IGH EtherCAT主站介绍 主要特点和功能 使用场景 SOEM 主站介绍 SOEM 的特点和功能 SOEM 的使用场景 IGH 主站 和 SOEM对比 1. 功能和复杂性 2. 资源消耗和移植性 3. 使用场景 EtherCAT 通信原理 EtherCAT主站控制伺服过程 位置规划模式 原点复归模式…

ASP.NET Mvc+FFmpeg+Video实现视频转码

目录 首先,做了视频上传的页面: FFmpeg:视频转码 FFmpegHelper工作类: 后台控制器代码: 前端视图代码: 参考文章: 首先,做了视频上传的页面: 借鉴了这篇文章 ASP.…

应用层_HTTPHTTPS

在应用层中,协议一般是程序员定制的,但现在已经有了许多非常好用的协议,我们可以直接参考使用。其中http和https便是其中最常用的协议之一。 一.HTTP 超文本传输协议(Hypertext Transfer Protocol,HTTP)…

腾讯春招后端一面(八股篇)

前言 前几天在网上发了腾讯面试官问的一些问题,好多小伙伴关注,今天对这些问题写个具体答案,博主好久没看八股了,正好复习一下。 面试手撕了三道算法,这部分之后更,喜欢的小伙伴可以留意一下我的账号。 1…

【C语言】—— 指针二 : 初识指针(下)

【C语言】——函数栈帧 一、 c o n s t const const 修饰指针1.1、 c o n s t const const 修饰变量1.2、 c o n s t const const 修饰指针 二、野指针2.1野指针的成因(1)指针未初始化(2)指针越界访问(3)指…

HNU-计算机系统-实验1-原型机vspm1.0-(二周目玩家视角)

前言 二周目玩家,浅试一下这次的原型机实验。总体感觉跟上一年的很相似,但还是有所不同。 可以比较明显地感觉到,这个界面越来越好看了,可操作与可探索的功能也越来越多了。 我们HNU的SYSTEM真的越来越好了!&#x…

5 个适用于 Windows 10 和 11 的最佳 PDF 转 Word 转换器

PDF 文件是共享文档的首选格式,但是此类文件存在一些限制,导致难以修改或编辑。因此,您可能会发现自己正在寻找一种将 PDF 文件转换为 Word 或其他可编辑格式的方法。 有许多不同的 PDF 转换器,每种转换器提供的功能略有不同。本…

个人简历主页搭建系列-03:Hexo+Github Pages 介绍,框架配置

今天的更新内容主要是了解为什么选择这个网站搭建方案,以及一些前置软件的安装。 Why Hexo? 首先我们了解一下几种简单的网站框架搭建方案,看看对于搭建简历网站的需求哪个更合适。 在 BuiltWith(网站技术分析工具)上我们可以…

微信小程序(一)

WebView app.是全局配置&#xff0c;app.json是全局配置文件&#xff0c;在页面的.json配置文件中的配置会覆盖我们全局的配置 快捷键&#xff1a; .box 敲回车 ----- <view class"box"></view> .row*8 敲回车&#xff1a; .row{$}*8 敲回车 案例1&…

信雅纳网络测试的二次开发集成:XOA(Xena Open-Source Automation)开源自动化测试

目录 XOA是什么 XOA CLI XOA Python API ​XOA Python Test Suite/测试套件 XOA Converter Source Code XOA是什么 XOA&#xff08;Xena Open-Source Automation&#xff09;是一个开源的测试自动化框架&#xff0c;追求“高效、易用、灵活”的跨操作系统的开发框架。能…

Android SystemServer进程解析

SystemServer进程在android系统中占了举足轻重的地位&#xff0c;系统的所有服务和SystemUI都是由它启动。 一、SystemServer进程主函数流程 1、主函数三部曲 //frameworks/base/services/java/com/android/server/SystemServer.java /** * The main entry point from zy…

Docker使用(四)Docker常见问题分析和解决收集整理

Docker使用(四)Docker常见问题分析和解决收集整理 五、常见问题 1、 启动异常 【描述】&#xff1a; 【分析】&#xff1a;[rootlocalhost ~]# systemctl status docker 【解决】&#xff1a; &#xff08;1&#xff09;卸载后重新安装&#xff0c;不能解决这个问题。 …