【教学类-36-07】20240608动物面具(通义万相)-A4大小7图&15手工纸1图

背景需求:

风变的AI对话大师一年到期了,也没有看到续费的按钮。不能使用它写代码了。

a375d26c4f28401c963a6b43287bd7ed.png

MJ早就用完了,最后480次,我担心信息课题会用到它生图,所以不敢用。

最近探索其他类似MJ的免费出图工具——找到了每天给50张免费图的“通义万相”。

参照动物面具样式,下载大量的正脸卡通动物简笔画

【教学类-36-07】20230707三只对称蝴蝶(midjounery-niji)(涂色、裁剪、游戏(飞舞的蝴蝶))-CSDN博客文章浏览阅读335次。【教学类-36-07】20230707三只对称蝴蝶(midjounery-niji)(涂色、裁剪、游戏(飞舞的蝴蝶))https://blog.csdn.net/reasonsummer/article/details/131598617

关键词模式:(中文输入)

的面具、儿童面具,单画,卡通,黑白轮廓,未着色,幼儿插图,彩色书,线条画,没有背景,没有颜色,黑白漫画线条艺术:,空背景,粗轮廓,清晰的线条,矢量线。简单,大,可爱

文心一言问了50种常见的动物+农场动物

使用UIBOT自动模仿自动输入文字并生成,一张图40秒等候

生成图片下载,不像MJ可以一次下载四张连起来的图片,必须一张一张下载,很麻烦,但是图片不用切割了,已经是一张一张的。

使用UIBOT选择一行4个的按钮下载(这里位置不稳定,很容易报错)

下载图片

有彩色和黑白的

人工选一些看上去适合的面具图片

标准:非彩色、可爱的、图像比较大。

最后分成4类图片

1、彩图

2、看不懂动物是什么

3、动物不好看

4、适合的

最后获得76张图

生成学具

一、  A4(一个大面具,依此缩小的图案)

0.用到的素材

1、单元格工作表XY值

2、每张图片的大小

3、上代码

# '''
# 目的:通义万象生成的动物面具:(长方形)19.5一大多小双面打印
# 作者:阿夏
# 时间:2024年6月8日21:27
# '''

# '''
# '''
import os

folder_path=r'C:\Users\jg2yXRZ\OneDrive\桌面\通义动物面具'
print('----------第1步:提取所有的幼儿照片的路径------------')


ppp=folder_path+r'\04适合的'
print('----------第2步:新建一个临时文件夹------------')
qqq=folder_path+r'\零时Word'
os.makedirs(qqq,exist_ok=True)

path=[]
# 过滤:只保留png结尾的图片 31张(多几张备用)
imgs=os.listdir(ppp)
for img in imgs:
    if img.endswith(".png"):
        path.append(ppp+'\\'+img)
# 所有图片的路径
print(path)
# 提取动物名字倒数第4个字之前的动物名字
print(imgs)



print('----------第3步:随机抽取12张图片 ------------')

import docx
from docx import Document
from docx.shared import Pt 
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
import random

import os,time
import docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# # from docx.enum.text import WD_VERTICAL_ALIGNMENT
# from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT         #用来设置单元格垂直对齐方式
from docx.oxml.ns import qn

from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor


pic=['00','01','11','21','22','32','33']
long=['19.23','8.2','4.9','4.3','2.7','2','2']

for nn in range(0,int(len(path))):      # 读取图片的全路径  的数量 31张
    doc = Document(folder_path+r'\蝴蝶长方形19.5.docx')
    
    figures=path[nn]           # 图片的全路径的第一张 

    table = doc.tables[0]          # 4567(8)行

    for l in range(len(long)):
        # 单元格坐标
        a=int(pic[l][0])
        b=int(pic[l][1])
#
        # 写入1张大图
        run=doc.tables[0].cell(a,b).paragraphs[0].add_run()        # # 图片位置 第一个表格的0 3 插入照片
        run.add_picture(r'{}'.format(figures),width=Cm(float(long[l])),height=Cm(float(long[l])))
        table.cell(a,b).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 
    
   
                
    doc.save(qqq+r'\{}.docx'.format('%02d'%nn))   

    from docx2pdf import convert

    # docx 文件另存为PDF文件
    inputFile = qqq+fr'\{nn:02d}.docx'  # 要转换的文件:已存在
    outputFile = qqq+fr'\{nn:02d}.pdf'  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile, 'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)
    
print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    
# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  qqq
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:
    print(pdf)
    file_merger.append(pdf)
file_merger.write(folder_path+fr"\通义动物面具19.5制作({len(path)}人共{len(path)}份).pdf")
file_merger.close()
# doc.Close()

# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree(qqq) #递归删除文件夹,即:删除非空文件夹


4、最后结果——一个大面具,配上逐渐缩小的同类动物。

幼儿可以将不同大小的动物图案制作不同的手工作品

1、大面具、

2、手环、

3、头饰

4、项链

5、安静书(翻页连续绘本)

6、连环画(每个格子上有动物头像)

7、与同伴商议,互相交换动物卡片,获得更多的动物类型

8、排序

 生成学具

二、 正方形(一个15*15CM面具)

0.用到的素材

1、单元格工作表XY值

2、每张图片的大小

3、上代码

# '''
# 
# 目的:通义万象生成的动物面具:15*15正方形手工纸
# 作者:阿夏
# 时间:2024年6月8日21:27
# '''

# '''
# '''
import os

folder_path=r'C:\Users\jg2yXRZ\OneDrive\桌面\通义动物面具'
print('----------第1步:提取所有的幼儿照片的路径------------')


ppp=folder_path+r'\04适合的'
print('----------第2步:新建一个临时文件夹------------')
qqq=folder_path+r'\零时Word'
os.makedirs(qqq,exist_ok=True)

path=[]
# 过滤:只保留png结尾的图片 31张(多几张备用)
imgs=os.listdir(ppp)
for img in imgs:
    if img.endswith(".png"):
        path.append(ppp+'\\'+img)
# 所有图片的路径
print(path)
# 提取动物名字倒数第4个字之前的动物名字
print(imgs)



print('----------第3步:随机抽取12张图片 ------------')

import docx
from docx import Document
from docx.shared import Pt 
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
import random

import os,time
import docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# # from docx.enum.text import WD_VERTICAL_ALIGNMENT
# from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT         #用来设置单元格垂直对齐方式
from docx.oxml.ns import qn

from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor


for nn in range(0,int(len(path))):      # 读取图片的全路径  的数量 31张
    doc = Document(folder_path+r'\蝴蝶正方形15.docx')
    
    figures=path[nn]           # 图片的全路径的第一张 

    table = doc.tables[0]          # 4567(8)行
#
    # 写入照片
    run=doc.tables[0].cell(0,0).paragraphs[0].add_run()        # # 图片位置 第一个表格的0 3 插入照片
    run.add_picture(r'{}'.format(figures),width=Cm(14.3),height=Cm((14.3)))    # 14.7
    table.cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 

   
                
    doc.save(qqq+r'\{}.docx'.format('%02d'%nn))   

    from docx2pdf import convert

    # docx 文件另存为PDF文件
    inputFile = qqq+fr'\{nn:02d}.docx'  # 要转换的文件:已存在
    outputFile = qqq+fr'\{nn:02d}.pdf'  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile, 'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)
    
print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    
# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  qqq
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:
    print(pdf)
    file_merger.append(pdf)
file_merger.write(folder_path+fr"\通义动物面具15制作({len(path)}人共{len(path)}份).pdf")
file_merger.close()
# doc.Close()

# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree(qqq) #递归删除文件夹,即:删除非空文件夹


4、最后结果——一个14CM的小面具(去掉白边,实际图案也就巴掌大)

手工纸打印的一个图案,可以让孩子制作面具,但是只有一个图案,绘画裁剪,做起来可能很快了(没法消磨时间)。

1、

后续

1、可以尝试用图像填入图片的方式,在正方形图片的四个角上批量添加同样的小图案。可能部分动物图案不会被遮挡,就可以拿来给孩子们用了。进一步节约纸张。

2、通义万象的动物面具图片大约是一半的图片被选用了,50%的满意度,继续尝试用每天50分的免费额度生成一些幼儿学具需要用的精美图片

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 22:42:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 22:42:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 22:42:02       87 阅读
  4. Python语言-面向对象

    2024-06-08 22:42:02       96 阅读

热门阅读

  1. shell简介

    2024-06-08 22:42:02       26 阅读
  2. C语言从头学15——数据类型(一)

    2024-06-08 22:42:02       29 阅读
  3. Linux搭建和共享第三方软件仓库

    2024-06-08 22:42:02       25 阅读
  4. 关于global和nonlocal那点事!!!

    2024-06-08 22:42:02       29 阅读
  5. 设计模式之迭代器模式

    2024-06-08 22:42:02       31 阅读
  6. 简单使用phpqrcode 生成二维码图片

    2024-06-08 22:42:02       25 阅读
  7. 自然资源-国土空间规划中的各类边界

    2024-06-08 22:42:02       32 阅读