【教学类-70-01】20240728一个茶壶两个茶杯(果茶)

news2024/11/20 14:24:58

背景需求:

用通义万相下载简笔画茶壶、茶杯

茶杯,简单笔画,卡通,黑白,未着色,幼儿插图,线条画,没有背景,没有颜色,黑白漫画线条艺术:,空背景,粗轮廓,清晰的线条,矢量线。简单,大,

茶壶,简单笔画,卡通,黑白,未着色,幼儿插图,线条画,没有背景,没有颜色,黑白漫画线条艺术:,空背景,粗轮廓,清晰的线条,矢量线。简单,大,
 

用Photoshop把图片上的小点子、表情、眼睛等图案修掉

利用模版,设计一个大茶壶,两个小茶壶的A4学具

图像素材准备
 

代码展示

# '''
# 21*29.7(19.52)长方形A4 
# 目的:一大二小茶壶茶杯(对称+裁剪+手环帽子等)
# 作者:阿夏
# 时间:2024年7月27日17:27
# '''

import os
import time
import shutil
from docx import Document
from docx.shared import Cm, Pt, Inches, RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
from PyPDF2 import PdfFileMerger, PdfFileReader
from docxtpl import DocxTemplate
import pandas as pd

print('----------第1步:提取所有的幼儿照片的路径------------')

# 读取123文件夹下的所有图片
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\果茶'
teapot_folder = os.path.join(path, '01茶壶')  # 100
teacup_folder = os.path.join(path, '00茶杯')  # 76 以这里的数量为准

teapot_files = [os.path.join(teapot_folder, f) for f in os.listdir(teapot_folder) if f.endswith('.jpg') or f.endswith('.png')]
teacup_files = [os.path.join(teacup_folder, f) for f in os.listdir(teacup_folder) if f.endswith('.jpg') or f.endswith('.png')]
# print(teacup_files)

# 创建临时文件夹
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)

print('----------第3步:一张大茶壶,2个小茶杯 ------------')

for nn in range(0,int(len(teacup_files))):      # 读取图片的全路径  的数量 31张
    doc = Document(path+r'\果茶.docx')
    
    teacup_figures=teacup_files[nn]           # 茶杯的图片
    teapot_figures=teapot_files[nn]           # 茶壶的图片

    table = doc.tables[0]          # 4567(8)行
#
    # 写入1张大图
    run=doc.tables[0].cell(0,0).paragraphs[0].add_run()        # # 图片位置 第一个表格的0 3 插入照片
    run.add_picture(r'{}'.format(teapot_figures),width=Cm(19.5),height=Cm(19.5))
    table.cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 
    # 写入2张小图
    for tt in range(2):
        run=doc.tables[0].cell(tt,1).paragraphs[0].add_run()        # # 图片位置 第一个表格的0 3 插入照片
        run.add_picture(r'{}'.format(teacup_figures),width=Cm(8.8),height=Cm(8.8))
        table.cell(tt,1).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 

    doc.save(new_folder+fr'\{nn:03d}.docx')   
    time.sleep(3)
    
print('----------第4步:把都有PDF合并为一个打印用PDF------------')

# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger

pdf_output_path = path+fr"\果茶茶壶茶杯({len(teacup_files)}人共{len(teacup_files)}份).pdf"

# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(new_folder):
    if docx_file.endswith('.docx'):
        docx_path = os.path.join(new_folder, docx_file)
        convert(docx_path, docx_path.replace('.docx', '.pdf'))


# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(new_folder):
    if pdf_file.endswith('.pdf'):
        pdf_path = os.path.join(new_folder, pdf_file)
        merger.append(pdf_path)
time.sleep(2)

# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()

# 删除输出文件夹
shutil.rmtree(new_folder)
# shutil.rmtree(zheng_path)
# shutil.rmtree(fan_path)
time.sleep(10)

    

 

作品展示

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVAWeb实战(后端篇)

因为前后端代码内容过多,这篇只写后端的代码,前端的在另一篇写 项目实战一: 1.创建数据库,表等数据 创建数据库 create database schedule_system 创建表,并添加内容 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------…

十一、Dockerfile解析

目录 一、Dockerfile简介 二、dockerfile的构建的三个步骤 三、Dockerfile的构建过程 1、DockerFile内容的基础知识 2、Docker执行Dockerfile的大致流程 四、dockerfile常用的保留字 1、FROM 2、MAINTAINER 3、RUN 4、EXPOSE 5、WORKDIR 6、USER 7、ENV 8、VOLUME …

VScode使用Github Copilot插件时出现read ECONNREST问题的解决方法

文章目录 read ECONNREST查看是否仍是 Copilot 会员查看控制台输出网络连接问题浏览器设置问题笔者的话 read ECONNREST 最近使用 Copilot 时一直出现 read ECONNREST 问题,这个表示连接被对方重置了,就是说在读取数据时连接被关闭。 我首先怀疑是不是…

QT常用的控件

QT常用控件 一.控件概述二.QWidget 核心属性2.1 核心属性概览2.2 enabled代码示例:使用代码创建一个禁用状态的按钮代码示例: 通过按钮2 切换按钮1 的禁用状态. 2.3 geometry代码示例: 控制按钮的位置代码示例: ⼀个随机按钮程序代码示例: 感受 geometry 和frameGeo…

Python | TypeError: ‘NoneType’ object is not iterable

Python | TypeError: ‘NoneType’ object is not iterable 在Python编程中,TypeError: NoneType object is not iterable 是一个常见的错误,通常表明你尝试对一个值为 None 的对象进行迭代操作,而 None 类型的对象是不可迭代的。本文将深入…

python count返回什么

描述 count() 方法用于统计字符串中某个子字符串出现的次数,可选参数为开始搜索与结束搜索的位置索引。 语法 count() 方法语法: S.count(sub[,start0[,endlen(S)]]) 参数 sub -- 搜索的子字符串。 S -- 父字符串。 start -- 可选参数,…

Windows11和Win10如何彻底永久关闭Windows defender

Windows11和Win10如何彻底永久关闭Windows defender 亲测简单快捷有效关闭病毒和威胁防护。 使用关闭windows defender工具。 随时可以重新开启病毒和威胁防护。

【Spring Boot】Spring 的安全框架:Spring Security

Spring 的安全框架:Spring Security 1.Spring Security 初识1.1 核心概念1.2 认证和授权1.2.1 验证(authentication)1.2.2 授权(authorization) 1.3 模块 2.核心类2.1 Securitycontext2.2 SecurityContextHolder2.2.1 …

刷题心得之位运算技巧 gcd 和 lcm

位运算 gcd 和 lcm 位运算技巧遍历 n 的所有子集, 不包括空集遍历 n 的所有子集, 包括空集提取出 n 二进制中第一次出现的1消除 n 二进制中第一次出现的1判断 n 是否是 2 的幂次方 gcd [最大公约数]lcm [最小公倍数] 位运算技巧 遍历 n 的所有子集, 不包括空集 #include <…

52.TFT_LCD液晶屏字符显示

&#xff08;1&#xff09;实验目标&#xff1a;在5寸显示屏&#xff08;800 * 480 60&#xff09;中央显示汉字&#xff08;黄色&#xff09;&#xff0c;且背景颜色为青色。 &#xff08;2&#xff09;代码编写&#xff1a; tft_ctrl模块&#xff1a; module tft_ctrl(inp…

电子电气架构---域控制器的软硬件趋势

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

TiDB-从0到1-sync-diff-inspector数据校验工具

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCCTiDB-从0到1-部署篇TiDB-从0到1-配置篇TiDB-从0到1-集群扩缩容TiDB-从0到1-数据导出导入TiDB-从0到1-BR工具 一、sync-diff-inspector工具 sync-diff-inspector是TiDB原生…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第六十二章 定时器按键消抖实验

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

详解Mysql InnoDB引擎 04

文章目录 1. InnoDB 简介2. 逻辑存储结构2.1 表空间 idb文件2.2 段2.3 区 1M2.4 页 16KB2.5 行 3. 架构3.1 内存结构3.1.1 Buffer Pool 缓冲池3.1.2 Change Buffer 更改缓冲区3.1.3 Adaptive Hash Index3.1.4 Log Buffer 3.2 磁盘结构 4. 后台线程5. 事务原理5.1 redo log 重做…

Pytorch深度学习实践(9)卷积神经网络

卷积神经网络 全连接神经网络 神经网络中全部是线性模型&#xff0c;是由线性模型串联起来的 全连接网络又叫全连接层 卷积神经网络 在全连接神经网络中&#xff0c;由于输入必须是一维向量&#xff0c;因此在处理图像时必须要对图像矩阵进行拉伸成一维的形式&#xff0c;…

视觉巡线小车(STM32+OpenMV)——总结

文章目录 目录 文章目录 前言 一、效果展示 二、完整流程 1、STM32CubeMX配置 2、Keil编辑 3、硬件接线 4、参数调试 5、图像处理调试 三、总结 前言 基于前面的系列文章&#xff0c;已基本介绍完了基于STM32OpenMV的视觉巡线小车&#xff0c;本文将以小编自己的小车…

BACnet物联网关BL103:Modbus协议转BACnet/MSTP

随着物联网技术在楼宇自动化与暖通控制系统中的迅猛发展&#xff0c;构建一种既经济高效又高度可靠的协议转换物联网关成为了不可或缺的核心硬件组件。在此背景下&#xff0c;我们钡铼特别推荐一款主流的BAS&#xff08;楼宇自动化系统&#xff09;与BACnet物联网关——BL103&a…

小世界特性解析——聚类系数与平均路径长度的奥秘

小世界特性解析——聚类系数与平均路径长度的奥秘 小世界特性的核心衡量指标 小世界特性&#xff0c;这一复杂网络中的重要概念&#xff0c;主要通过两个关键指标来衡量&#xff1a;聚类系数和平均路径长度。这两个指标共同揭示了网络结构的紧密程度和信息传播的效率。 聚类…

echarts没数据的时候,页面显示暂无数据

echarts没数据的时候&#xff0c;页面显示暂无数据 给个if判断 let option{} if(data.length0){ //没有数据或者数据不合法,显示暂无数据option {title: {text: 暂无数据,x: center,y: center,textStyle: {fontFamily: Manteka,fontSize: 12,fontWeight: normal,color: #333…

使用 Copilot 对 OneDrive 文档分享进行摘要

对于大量使用onedrive进行资料分享的用户而言&#xff0c;对分享的文件进行简要说明并提供给对方&#xff0c;是一个基本素养。 在以往&#xff0c;他们只能阅读文件名然后靠回忆进行撰写&#xff0c;或者打开每一个文档通读全文然后再关闭返回并撰写摘要。 当用户在 SharePo…