【教学类-52-14】20240925动物数独(N宫格通用版3-10宫格)1图、2图、6图、有答案、无答案 组合版18套

背景需求:

制作了3-5宫格(1、2、6图)样式18组,它们用的都是(1、2、6图)的word模板,只是宫格数量不同,图片插入大小不同,是否可以做一个通用代码?

【教学类-52-11】20240919动物数独(4宫格)1图、2图、6图、有答案、无答案 组合版18套-CSDN博客文章浏览阅读1.7k次,点赞57次,收藏16次。【教学类-52-11】20240919动物数独(4宫格)1图、2图、6图、有答案、无答案 组合版18套https://blog.csdn.net/reasonsummer/article/details/142442572【教学类-52-13】20240924动物数独(5宫格)1图、2图、6图、有答案、无答案 组合版18套-CSDN博客文章浏览阅读636次,点赞19次,收藏4次。【教学类-52-13】20240924动物数独(5宫格)1图、2图、6图、有答案、无答案 组合版18套https://blog.csdn.net/reasonsummer/article/details/142497906【教学类-52-12】20240923动物数独(6宫格)1图、2图、6图、有答案、无答案 组合版18套-CSDN博客文章浏览阅读466次。【教学类-52-12】20240923动物数独(6宫格)1图、2图、6图、有答案、无答案 组合版18套https://blog.csdn.net/reasonsummer/article/details/142468814

通过修改名称,修改代码,实现这个需求。

0、材料准备

1、图片:

原来的四种动物是他人的(兔、猫、猴、猪)

为了做6宫格我又从网上下载了两个风格近似的图片——熊猫和狮子。

这次我想最多10宫格,所以需要10个动物,网上看看也配不齐同一个风格的。

为了避免版权问题,加上需要同样大小、同样风格的动物头像,我决定用通义万相生成的AI动物图片。

找到一套8月2日下载的彩色动物头像正面

从中挑选一些好看的头像(用ps把动物头像放大撑满画布,图案变大)选择了18种,大于10种。

为了了解生成一套要多少时间,添加了起始时间和终止时间

(星火讯飞生成)

from datetime import datetime

# 记录程序开始时间
start_time = datetime.now()

# 在这里编写你的程序代码

# 记录程序结束时间
end_time = datetime.now()

# 计算程序运行时间
elapsed_time = end_time - start_time

# 打印程序运行时间
print("程序运行时间:", elapsed_time)

2、制作3-10宫格的模版(制作底图)

 3宫格基础模版

 4宫格基础模版

 5宫格基础模版

6宫格基础模版

7宫格基础模版

8宫格基础模版

9宫格基础模版

10宫格基础模版

3、关卡图:

1图关卡、2图关卡、6图关卡

代码解析:

通用代码中的N*N小图片大小需要预先设置好

代码展示


# -*- coding:utf-8 -*-

'''
制作动物/脸谱数独N宫格通用版(3-10的黏贴关卡 A4 1图2图6图的所有组合 )
1.无答案:9种3:3,两两组合
2.有答案:27种 3:3:3,三三组合(实际需要其中9种)
作者:AI对话大师,阿夏
时间:2024年9月24日
'''


print('-----第一板块、动物操作卡(大图片卡一页1图、1页2图 一页6图)-------')

    


# print('----1、读取行列-------')
import os,time
from docx import Document
from docx.shared import Cm
from docx2pdf import convert
from PyPDF2 import PdfMerger
import shutil
from datetime import datetime


num=1
# int(input('生成几份\n'))
# 制作"单元格"# 几宫格
hsall=int(input('几宫格?(3-10)\n'))
# 程序开始的时间:

start_time = datetime.now()


# int(input('请输入4或9\n'))
hs=hsall

path=fr'C:\Users\jg2yXRZ\OneDrive\桌面\动物数独N宫格'

# 以下是1图、2图、6图的插入大小
psize=[19.6,14.1,9.39]
pg=[1,2,6]
gzs=[1,2,2]

# 以下是3=10宫格word里面的图片大小尺寸
# 3=6.4 、4=4.8、5=4.2、6=3
gzsize=[6.4,4.8,3.84,3.2]
# 3=10宫格宫格
gzsgg=list(range(3, 11))


for pt in range(len(pg)):
    # # 新建一个”装N份word和PDF“的临时文件夹
    imagePath=path+r'\\零时Word'
    os.makedirs(imagePath,exist_ok=True)  # 若图片文件夹不存在就创建
    
    imagePathpaste=path+r'\\05操作卡pdf'
    os.makedirs(imagePathpaste,exist_ok=True) 

    doc = Document(path +fr'\动物数独({pg[pt]}图关卡).docx')

    # 获取文档中的所有表格
    tables = doc.tables

    # 选择你需要读取的表格(在这种情况下是第1张表格)
    target_table = tables[0]

    # 获取所选表格的行数和列数
    num_rows = len(target_table.rows)
    num_columns = len(target_table.columns)

    print("行数:", num_rows)
    # 3
    print("列数:", num_columns)
    # # 2 

    print('----2、读取图片-------')

    import os

    # 指定文件夹路径
    folder_path = path + r'\02动物图片'

    pic_list = [os.path.join(folder_path, file_name) for file_name in os.listdir(folder_path)]
    pic_list=pic_list[:hs]*hs
    print(pic_list)
    print(len(pic_list))
    
    print(pic_list)
    print(len(pic_list))
    
    groups = [pic_list[i:i + int(pg[pt])] for i in range(0, len(pic_list), int(pg[pt]))]
    

    # # # print('----3、黏贴图片卡,一页1图、1页2图 一页6图-------')

   
        # 处理每一组图片
    for group_index, group in enumerate(groups):
        # 创建新的Word文档
        doc = Document(path + fr'\动物数独({pg[pt]}图关卡).docx')
        # print(group)
        
        # 遍历每个单元格,并插入图片
        for cell_index, im
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值