单页效果
多页效果
预设效果
2022年11月23日,作为艺术特色幼儿园,蒙德里安风格装饰在我们幼儿园的环境中。
蒙德里安是几何抽象画派的先驱,以几何图形为绘画的基本元素,与德士堡等创立了“风格派”,提倡自己的艺术“新造型主义”。他认为艺术应根本脱离自然的外在形式,以表现抽象精神为目的,追求人与神统一的绝对境界,也就是现在我们熟知的“纯粹抽象”。
《大块红色、黄色、黑色、灰色和蓝色的构成》布面油画1921达拉斯艺术博物馆藏
以前指导孩子们临摹过上面这幅画,孩子们画的还不错。这次我想随机生成一些不同的线条框架,让幼儿根据不同的线条组成的大小块面,自行尝试填色(色彩涂色符合幼儿的绘画能力特点)。
制作随机线条画有点难度,我参考了很多CSDN上的“蒙德里安的梦想”“蒙德里安多位K”代码,要么看不懂代码写了什么意思,要么Python VScode不能运行、要么就是效果不符合我的需求。
最终找到了“https://blog.csdn.net/qq_45027465/article/details/125315445”(随机绘画图形)的代码,通过反复测试,修改参数,基本满足了我需要的黑线格子样式。
Word位置
页边距:上下左右0.7
纸张方向:竖版
插入第一个表格 1行*4列,其中左侧三个单元格的大小:高度8.6*宽度6.13
设置表格的框线
第一个表格和第二个表格之间要有一个空行:空行的字体大小间距设置
蒙德里安线条图
画框外框线的设置(加粗框线)
- '''
- 作者:阿夏
- 时间:2022年11月24日蒙德里安“红黄蓝黑格子画-竖版)
- (A4横版,上面第一个格子做三角支撑,下面的第2个格子插入画作。))
- '''
-
-
- # 代码出处:https://blog.csdn.net/qq_45027465/article/details/125315445
- import matplotlib.pyplot as plt
- import matplotlib.patches as pch
- import matplotlib.tri as tri
- import numpy as np
- import random
- from cv2 import cv2
- import os
- import gc
-
- print('-----------------第1部分:生成蒙德里安线正方形线条图-------------------')
-
- n=int(input('请输入画布尺寸正方形(18Cm)\n'))
- nn=int(input('一共要几张图(30)\n'))
- figLong = n # 19.2 # 的长k
- figWide = n # 18.3 的宽
- h=input('横版还是竖版?\n')
-
- color = ['b', 'r', 'g', 'y', 'c', 'm','w','k']# 蓝色,红色、绿色、黄色、青、品红、白、黑
-
- def FigRect(ax,num): # 画矩形
- # 以下代码是做随机矩形。
- for i in range(num):
- # l=figLong
- # w=figWide
- long = random.uniform(figLong,figLong*5) # 矩形的长为0.5-3之间
- wide = random.uniform(figWide,figWide*5) #
- X = random.uniform(0, figLong - long)
- Y = random.uniform(0, figWide - wide)
- # X =figLong - long
- # Y =figWide - wide
- a = random.randint(7, 7) # 0,0蓝色 11红 22绿 33黄 44浅蓝、55浅紫 66白 77黑 # 线条色彩,这里只用7,黑色
- rect = pch.Rectangle(xy=(X, Y), width=wide, height=long, edgecolor=color[a], facecolor=color[a], fill=False,
- linewidth=20) # 线条宽度
- ax.add_patch(rect)
-
- # 下面代码是做画框的边框(18*18)
- rect1 = pch.Rectangle(xy=(0, 0), width=figWide, height=figLong, edgecolor=color[a], facecolor=color[a], fill=False,
- linewidth=20) # 线条宽度
- ax.add_patch(rect1)
-
- if num != 0:
- del ax, rect
- gc.collect()
-
- def main():
- figNum = nn # 画图数量
- imgNum = 80 # 每张图的图形最多数量
- for i in range(figNum):
- fig, ax = plt.subplots(figsize=(figLong, figWide))
- a = random.randint(1, 1)# 0,0=黑色背景 1,1白色背景
-
- if a == 0:
- X = np.arange(0, figLong, 20)
- plt.fill_between(X, 0, figWide, color='k')
- for j in range(0,imgNum):
- b = random.randint(0, 0)
- # b=3
- if b==0:
- FigRect(ax, 1) # 图形粗密
-
-
- name = 'C:/Users/jg2yXRZ/OneDrive/桌面/蒙德里安/线条图/' + str(i) + '.jpg'
- plt.xlim(xmin=0, xmax=figLong)
- plt.ylim(ymin=0, ymax=figWide)
- plt.axis('off')
- plt.subplots_adjust(top=1, bottom=0, left=0, right=1, hspace=0, wspace=0)
- plt.margins(0, 0)
- plt.savefig(name, dpi=30)
- # plt.show() # 只显示一次,并且不能自动关闭
- plt.clf()
- plt.close()
-
- del fig, ax
- gc.collect()
-
- # 模拟按键Alt+F4
- # plt.pause(1)
-
- if __name__ == '__main__':
- main()
-
-
- print('-----------------第2部分:导入Word,合成PDF-------------------')
-
- import os,random
- print('----------第1步:提取所有的蒙德里安线条图的路径------------')
-
- path=[]
- for i in range(0,nn): # 一共有18张
- p=r"C:\Users\jg2yXRZ\OneDrive\桌面\蒙德里安\线条图\{}.jpg".format(i)
- path.append(p)
- print(path)
- # ['C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\1.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\2.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\3.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\4.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\5.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\七巧
- # 板\\线条图\\6.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\7.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\8.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\9.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\10.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\11.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\12.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\13.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\14.jpg',
- # 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\15.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\16.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图
- # \\17.jpg', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\蒙德里安\\线条图\\18.jpg']
-
-
-
- print('----------第2步:新建一个临时文件夹------------')
- # 新建一个”装N份word和PDF“的文件夹
- os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\蒙德里安\零时Word')
-
-
- print('----------第3步:把30个图片分别插入30个Word内 ------------')
-
- from win32com.client import constants,gencache
- from win32com.client.gencache import EnsureDispatch
- from win32com.client import constants # 导入枚举常数模块
- 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.oxml.ns import qn
-
-
- from docxtpl import DocxTemplate
- import pandas as pd
- from docx2pdf import convert
- from docx.shared import RGBColor
-
- for nnn in range(0,len(path)):
- # word = gencache.EnsureDispatch('Word.Application')
- doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\蒙德里安\蒙德里安模板({}).docx'.format(h))# 打开带docx模板(这个模板有页脚的页码,阿夏认为页码是必须的)
- table = doc.tables[1] # 一共有1个表格
-
- k=path[nnn] # 提取list图案列表里面每个图形 t=索引数字
- print(k)
-
- run=doc.tables[1].cell(0,0).paragraphs[0].add_run() # 在第一个表格中的每个单元格的第一行插入信息
- run.add_picture('{}'.format(k),width=Cm(18),height=Cm(18))
- # 插入,k=所在路径。单元格大小有限,每张原始尺寸8.744CM,插入的大小最多4CM
-
- table.cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
-
- # doc.Save()# 把有空格的1.docx保存n
- doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\蒙德里安\零时Word\{}.docx'.format('%02d'%nnn))
- from docx2pdf import convert
-
- # docx 文件另存为PDF文件
- inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/蒙德里安/零时Word/{}.docx".format('%02d'%nnn) # 要转换的文件:已存在
- outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/蒙德里安/零时Word/{}.pdf".format('%02d'%nnn) # 要生成的文件:不存在
- # 先创建 不存在的 文件
- 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/桌面/蒙德里安/(打印合集)纯色蒙德里安-{}({}份).pdf".format(h,nn))
- file_merger.close()
- # doc.Close()
-
- # print('----------第5步:删除临时文件夹------------')
- import shutil
- shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/蒙德里安/零时Word') #递归删除文件夹,即:删除非空文件夹
-
生成30张随机线条图(正方形18*18CM有黑色边框)
生成图片所在路径
如何大量随机出现的长方形线条(有些参数的意思我也不太理解)
把图片导入Word
1、竖板《蒙德里安》更符合幼儿操作规律
(1)日常学习都是先写学号名字,再开始制作,与横版《蒙德里安》相比,竖版可以让幼儿从左到右、从上到下的规律,先完成个人信息填写、然后涂上指定的颜色。接着绘画红黄蓝黑格子。符合书写顺序
(2)先写信息,在进行裁剪,黏贴。符合先写画、后剪贴的学习思路,减少遗漏
2、竖板《蒙德里安》更符合操作台空间布局
平时活动都是准备30份A4学具,但是通常幼儿人数在23-26人之间,幼儿都会把多余的纸上上交,
老师:“放中间吧,万一有同学先完成了,可以在做一张!“
幼儿1:“可是桌子上放不下了”
幼儿2:“放着搞不清楚是谁的”
显然5-6人共用课桌时,大班幼儿能明显感受到操作空间有限——除了A4纸、还有记号笔剪刀胶水的笔筒及整盒蜡笔需要占空间。
横版&竖版
1、写个人信息、涂色卡、涂色块
2、剪去边缘
3、折叠虚线
4.黏贴条涂胶水
5.制作“三角柱支撑”
6、在画框背面画十字定位
7、黏贴胶水
8、贴在十字线中心靠下的位置。
时间:2022年11月2X日 下午15:00-15:30
班级:大1班
人数:23人
优秀作品11份(正确使用四色、涂色饱满、无白点)
其他作品12份:
扫描作品效果:
1、色彩选择:
18幼儿使用要求的红、 黄、蓝、黑进行涂色,3位幼儿在此基础上又加了1-3种颜色,2位幼儿少用一个颜色(黄或黑)
2、涂色色块数量与画面效果的关系:
从排序来看,涂色的色块数量越少()0-9个),画面整体感觉越稀少。
3、模板格子与画面效果的关系:
从模板格子线条(色块大、色块中等、色块小)来分析画面效果
从效果来看,如果原始的模板上的格子都是小格子,幼儿就能难画出具有大小对比的色块。(只有2位孩子有意识把N*N个连续矩阵格子涂成一个颜色。)
4、色卡涂色
所有的孩子都完成了4格色卡(红、黄、蓝、黑),2位幼儿将色卡一面作为黏贴页贴在作品上。其余幼儿的色卡和名字都能够展示出来。
5、个人信息:
描画班级灰色字:18位幼儿用铅笔或记号笔对的班级“大1班”三个灰字镜像描画练习、5位幼儿没有书写。
写名字:21位幼儿用铅笔盒记号笔、蜡笔书写自己的全字(2-3个字,基本能辨认出字形),其中1人写了小名。
写学号:3位幼儿没有写学号(但是写了名字),14位幼儿写了自己的学号数字(没有镜像字),6位幼儿除了写自己的学号还写了“号”。
书写工具:红色蜡笔1人:记号笔9人、铅笔12人、铅笔记号笔混合1人
6、提手制作:
10位幼儿用画框边缘剪下的纸条制作了提手(1条提手7人、2条提手3人)
1、筛选线条图——有大小格子的图
在线条图提供时,教师也要有意识筛选出一些有小格子、中格子、大格子的图片,这样幼儿更容易画出具有节奏感(大小对比)的蒙德里安格子画。
(下图基本都是小格子、、全部是大格子)
2、涂色色块在同一轴线上:
第一次绘画,老师提示,红色大的涂一块,红色小的涂一块,部分幼儿理解这个意图,但是我没有提到要交叉涂色,因此幼儿很容易在水平、垂直的方向上进行大小色块排列式涂色,要么所有颜色都涂在一个X轴上、要么同类颜色涂在一条Y轴上。
从视觉上看,这种色块排列并不具有节奏感、跳跃性,有些呆板。
3、探究和实用性——支架的制作
男孩们对于“画框站起来”的愿望更强烈,先剪下三角柱,制作支撑。女孩也带头剪下画框边缘,制作提手。
现象1:幼儿剪的画框边缘不整齐(底边不光滑),因此在直角边贴上三角柱后,很容易倒掉。
现象2:幼儿并没有裁剪18厘米画框的三条白边,纸张重量大,画框后翻仰倒。
现象3:幼儿制作提手,顶部重量超重,画框后翻仰倒。
(作品摆了一晚上,倒了不少)
虽然没有倒下,但上面的纸张向后仰翻。
end
、