【教学类-36-06】20230707动物面具-正方形(midjounery-niji)(涂色、裁剪、镂空剪、实用性研究(怎样贴在脸上))

news2024/12/23 18:44:40

 作品展示

1、使用15:15CM彩色手工纸打印(25*25的纸超过21CM的边,打印机放不下),

2、打开选择CAJ阅读器

3、纸张放在纸屉内,用三个架子缩小页面

4、哎,大不了,换不了纸

一、利用midjounery获得简笔画样式的“动物面具

Top view,Ladybug , simple stroke, cartoon, black and white outline, uncolored

NIJI 5

 

 二、图片切割

用以下代码把上面文件夹里所有的2048*2048的单张图片切割程2*2


# 参考网址:https://blog.csdn.net/weixin_42182534/article/details/125773141?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E6%88%AA%E5%8F%96%E5%9B%BE%E7%89%87%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-125773141.nonecase&spm=1018.2226.3001.4187

'''

功能:把midjounery 3*3方形矩阵,5*4矩阵、3*5矩阵切割 通用公式)
作者:阿夏
时间:2023年6月26日 19:51
'''

import os
import os.path

from PIL import Image

long=int(input('图片长度像素(1024)\n'))
wide=int(input('图片宽度像素(1024)\n'))

small_long=int(input('长边切分4(4*3)\n'))
small_wide=int(input('宽边切分3(4*3)\n'))
# 目前图片都是2*2,3*3排列

# 1:1图比例是2048
# 16:9图片比例 2912:1632
wj=input('文件夹名称\n')

z=0
longall=[]
longall.append(z)
for l in range(1,small_long+1):
    ll=float(long/small_long*l)
    longall.append(ll)
print(longall)
# 右侧边的所有参数 长/X
# [0, 512, 1024, 1536, 2048]


wideall=[]
wideall.append(z)
for w in range(1,small_wide+1):
    ww=float(wide/small_wide*w)    
    wideall.append(ww)
print(wideall)
# 下边的所有参数 宽/X
# [0, 682.6666666666666, 1365.3333333333333, 2048.0]


pic=[]
for x in range(0,small_wide):
    for y in range(0,small_long):
        z1=longall[y]
        z2=wideall[x]
        z3=longall[y+1]
        z4=wideall[x+1]
        pic.append(z1)
        pic.append(z2)
        pic.append(z3)
        pic.append(z4)
print(len(pic))


    # # 4*3图为例hang 
    # 第1行四张 
    # z1=longall[0]  [1]   [2] [3]
    # z2=wideall[0]
    # z3=longall[1]  [2]   [3] [4]
    # z4=wideall[1]

    # 第2行四张 
    # z1=longall[0]  [1]   [2] [3]
    # z2=wideall[1]
    # z3=longall[1]  [2]   [3] [4]
    # z4=wideall[2]
    
    # 第3行四张 
    # z1=longall[0]  [1]   [2] [3]
    # z2=wideall[2]
    # z3=longall[1]  [2]   [3] [4]
    # z4=wideall[3]

    # 总结:
    # z1=long[0:4]  每张图左侧的坐标会变 ,索引数字不断从0,1/4,2/4,3/4
    # z2=宽数量     宽的索引,不断增加
    # z3=long[0+1:4+1]  每张图右侧 索引数+1 从1/4,2/4,3/4,4/4(=长)20
    # z4=宽+1      宽的索引+1

 
# 定义文件所在文件夹
image_dir = r'C:\Users\jg2yXRZ\OneDrive\桌面\{}'.format(wj)
for parent, dir_name, file_names in os.walk(image_dir):  # 遍历每一张图片
    for filename in file_names:
        print(filename)
        pic_name = os.path.join(parent, filename)
        image = Image.open(pic_name)
        _width, _height = image.size
        print(_width, _height)
 

        qfall=4
        # 每张图有4个坐标
        n=0  
        for p in range(int(len(pic)/4)):
            pp=pic[p*4:p*4+4]
            print(pp)

                    
            # 定义裁剪范围(left, upper, right, lower)1024
            # # box = image.crop((0,0,123,123))
            box = image.crop((pp[0],pp[1],pp[2],pp[3]))
            name = filename[:-4]+'_'+str(n) +'.png'
            
            print(name)
            # # # ,pp[3],pp[4],pp[5],pp[6],pp[7],pp[8],pp[9]))
            # # name = filename[:-4]+'_'+str(p) +'.png'2048
            
            box.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\{}\{}'.format(wj,name))
            n+=1
            
#     print('Done!')   

    
     

把切割好的图片,挑选符合要求的放到”动物面具图片单张“

三、学具生成

文件夹准备:

 第1类:正方形15*15厘米手工纸

 一个面具图片插入一个框,图案尽量放到最大。

# '''
# 15*15正方形手工纸面具
# 目的:动物面具(挖空)
# 作者:阿夏
# 时间:2023年7月7日17:27)

# '''
print('----------第1步:提取所有的幼儿照片的路径------------')
import os
path=[]
p=r"C:\Users\jg2yXRZ\OneDrive\桌面\幼儿动物面具\动物面具图片单张"
# 过滤:只保留png结尾的图片 31张(多几张备用)
imgs=os.listdir(p)
for img in imgs:
    if img.endswith(".png"):
        path.append(p+'\\'+img)
# 所有图片的路径
print(path)
# 提取动物名字倒数第4个字之前的动物名字
print(imgs)
  


print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\幼儿动物面具\零时Word')


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(r'C:\Users\jg2yXRZ\OneDrive\桌面\幼儿动物面具\面具正方形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(15),height=Cm(15))
    table.cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 

   
                
    doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\幼儿动物面具\零时Word\{}.docx'.format('%02d'%nn))   

    from docx2pdf import convert

    # docx 文件另存为PDF文件
    inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/幼儿动物面具/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在
    outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/幼儿动物面具/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    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 =  'C:/Users/jg2yXRZ/OneDrive/桌面/幼儿动物面具/零时Word'
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("C:/Users/jg2yXRZ/OneDrive/桌面/幼儿动物面具/(打印合集)动物面具15制作({}人共{}份).pdf".format(len(path),len(path)))
file_merger.close()
# doc.Close()

# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/幼儿动物面具/零时Word') #递归删除文件夹,即:删除非空文件夹


效果展示:

 

 (以上是15*15彩色手工纸打印(打印时需要对打印机参数进行设置)

 图案最高长度:15CM

感悟:

1、WORD模板出现第二页,我都会想尽办法调整段落(固定值1磅)来消除第2页,今天发现完全可以默认第二页的存在,只要确保第二页为空白,。在打印时,注意选择:奇数页打印,或者默认双面打印,也同样可以获得一张学具。

2、MJ的图案很丰富多样,有些面具眼睛部分还是需要教师手画××,提示幼儿镂空剪。

3、每个面具不一定正好符合幼儿的眼距。教学实验一次后,再挑选出一些比较实用的的面具图案,

教学目的:

1、自由涂色

2、沿边裁剪

3、面具眼睛部分镂空剪

4、制作“手持面具”、“双面胶黏贴面具”、”头套式面具“

学具打印:

打印机设置

唯一默认,如果纸张尺寸是“”A4,打印默认是A4纸

如果纸张尺寸是15,打印默认15*15,这是唯一一个选择,所以打印完15的纸后,要把纸张尺寸改回A4,否则a4大小的纸张内容只能打印出15*15一小块。

打印过程

修补:部分面具眼睛需要涂成黑色,便于幼儿了解“镂空剪”的位置

分类挑选:眼睛部分色块面积大小,普遍使用1CM*1CM以上的面具(特别小的眼睛面具给手艺很好的孩子练习)

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

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

相关文章

比特币再起风波!

今日荐读:9.2教链内参《马斯克收购推特背后鲜为人知的故事》。刘教链Pro《激辩:比特币究竟算不算财产?》。 * * * 刘教链 原创 * * * 经历过2017-2018年BCH硬分叉战争的人应当还对当年的血雨腥风心有余悸。当然,对于一战之后进场…

C#学习系列之UDP同端口收发问题

C#学习系列之UDP同端口收发问题 前言解决办法关于JoinMulticastGroup总结 前言 想测试自己的程序问题,建立了两个UDP程序,一个往端口中接到数就传出去,另一个从这个端口接数据来解析。 出现的问题是 每次打开端口,另一个程序就无…

Applovin股价飞涨,同场竞技的汇量或将拿到相同剧本

全球化、跨行业投资是对冲投资风险、实现超额收益的重要方式。若论什么行业在全球化投资中入门最简单,那一定是互联网。APP、游戏人人都能接触,轻松解决了对商业门槛的理解问题,所有的增长价值一清二楚。 但互联网作为一个看起来非常成熟的行…

领跑车载5G/V2X模组市场,移远通信又获大奖

汽车行业的智能化、网联化发展,离不开车载模组的支撑,作为车联网的重要组成部分,5G、V2X等技术的发展和应用对智能网联汽车的不断升级有着重要的推动意义,受到了业界的广泛关注。 8月31日,在2023高工智能汽车行业评选颁…

【ProxMox7.2】创建win10虚拟机

创建win10虚拟机 1.创建虚拟机2.操作系统3.系统4.磁盘5.CPU设置6.内存7. 网络8.确认9. 安装 1.创建虚拟机 名字随便命名 2.操作系统 这里选择自己ios版本选择 2008r2类型 选择windows 3.系统 机型选择默认i44fxscsi控制器选择Virtio Scsi 4.磁盘 这里存储选择自己大的一…

【Day-28慢就是快】代码随想录-二叉树-平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 思路 求深度可以从上到下去查 所以需要前序遍历(中左右) 而高度只能…

pmp和软件高项哪个含金量高?

人们常将PMP和高项放在一起比较,因为这两种证书都适用于项目经理职位,它们有高达60%的知识点重合度。在决定考哪一种证书之前,人们常常会感到困惑。 下面看一下pmp和软考高项的差异。 发证机构不同 PMP(Project Management Professional)是…

【VL tracking】Towards Unified Token Learning for Vision-Language Tracking

不知道什么原因学校认证账号进不去,下载不了最新的PDF 广西师范大学 | 国科大 | 厦大 代码开源 zhihu指路👉【VL tracking】MMTrack阅读 问题 一方面,传统的VL tracking方法需要昂贵的先验知识。例如,一些tracker是专门用于bou…

单片机简介

目录 1、单片机 2、CISC和RISC 3、 冯诺依曼结构和哈佛结构​编辑 1、单片机 单片机:Single-Chip Microcomputer,单片微型计算机,是一种集成电路芯片 ------------------------------------------------------------ 电脑&#xff1a; <--------> …

Redis从基础到进阶篇(三)----架构原理与集群演变

目录 一、缓存淘汰策略 1.1 LRU原理 1.2 案例分析 1.3 Redis缓存淘汰策略 1.3.1 设置最⼤缓存 1.3.2 淘汰策略 二、Redis事务 2.1 Redis事务典型应⽤—Redis乐观锁 2.2 Redis事务介绍 2.3 事务命令 2.3.1 MULTI 2.3.2 EXEC 2.3.3 DISCARD 2.3.4 WATCH 2.3.5 UNW…

Cesium 上展示点的坐标

文章目录 需求一需求分析 需求二需求分析 需求一 需求 Cesium 中绘制点并在点上添加该点的坐标 分析 在Cesium中&#xff0c;可以使用以下代码来显示指定点的坐标&#xff1a; //定义点的坐标 var position Cesium.Cartesian3.fromDegrees(longitude, latitude, height)…

QML配置启用 QML编译

简述 常规情况下 QML 是解释执行的&#xff0c;为了加快启动速度&#xff0c;官方开发了 QML 编译器&#xff0c;支持编译到 C。 用法 在 pro 文件添加配置,使其生效 CONFIG qtquickcompiler添加后可以看到编译的中间文件有变化&#xff0c;上边是未配置编译 QML&#xff…

从出版到金融:为何现代行业都选择“爱校对”?

在快速发展的数字时代&#xff0c;无论是企业内部的邮件、宣传手册&#xff0c;还是专业的金融报告和出版物&#xff0c;准确无误的文字成为成功的关键。那么&#xff0c;面对山量的文档&#xff0c;如何确保每一句话都字正腔圆、无误导性&#xff1f;答案可能比你想象的还要简…

视频号发农村怀旧治愈系短视频月入5K+,一部手机在家就能搞的副业项目

视频号大家都熟悉&#xff0c;治愈系短视频有人可能也见到过&#xff0c;只是可能没有人想过发发视频就能搞钱&#xff0c;尤其是在视频号里。其实这个项目不仅仅可以视频号做&#xff0c;抖音、快手、小红书都可以同步做&#xff0c;而且都有收益。 先给大家看看案例&#xf…

科技云报道:AI大模型终于走到了数据争夺战

科技云报道原创。 当前&#xff0c;大模型正处在产业落地前期&#xff0c;高质量的数据&#xff0c;是大模型实现产业化的关键要素。 最近&#xff0c;一项来自Epoch AI Research团队的研究抛出了一个残酷的事实&#xff1a;模型还要继续做大&#xff0c;数据却不够用了。 …

Vue 2 nextTick方法|异步更新|事件循环

1 nextTick的用处 vm.$netTick的作用是将回调延迟到下次DOM更新周期之后执行。 它接受一个回调函数作为参数。 其实&#xff0c;在我们更新数据状态后&#xff0c;是不会立马渲染的&#xff0c;你不能即刻获取到新的DOM&#xff1a; <!DOCTYPE html> <html><…

vscode+esp-idf 搭建esp32开发环境,编译信息中文乱码

1.修改波特率 2.C:\Users\Administrator\.vscode\extensions\vsciot-vscode.vscode-arduino-0.6.0-win32-x64\out\src\common 打开文件 util.js 屏蔽掉这部分的代码 、

献给前端研发同学的福利!性能诊断神器——Chrome Performance insight!

Performance insight概述 Performance insight是chrome Chrome DevTools中的自带工具&#xff08;Chrome102 版本发布&#xff09;&#xff0c;目前还是在chrome DevTool中启动即可&#xff0c;如下图所示&#xff1a;我们可以模拟cpu&#xff0c;选择4x slowdown&#xff0c;…

大数据可视化大屏实战项目(8)史上最炫酷科技风销售额度展示大屏,适用于电子产品---HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)

大数据可视化大屏实战项目&#xff08;8&#xff09;史上最炫酷科技风销售额度展示大屏&#xff0c;适用于电子产品—HTMLCSSJS【源码在文末】&#xff08;可用于比赛项目或者作业参考中&#x1f415;&#x1f415;&#x1f415;&#xff09; 一&#xff0c;项目概览 ☞☞☞☞…

发生OOM时JVM会退出吗

程序是否退出和发生 OOM 无关 需要明确&#xff0c;程序是否退出和发生 OOM 无关&#xff0c;而和当前是否还有存活的非守护线程有关。 只要还有运行中的子线程&#xff0c;即使 main 线程结束或异常崩溃了&#xff0c;程序也不会停止。 public class TestThreadRun {privat…