
背景需求:
客户下单了,除了黑白三角,还想要一个彩色的。

我也搞不清楚对方想要什么样的彩色,所以我准备把以下这个代码从黑白三角改成彩色三角
【教学类-58-10】黑白三角拼图08(参考图+操作卡+黑白块,适合个别化)_如何用黑白积木组成一个三角形-优快云博客文章浏览阅读1k次,点赞24次,收藏14次。【教学类-58-10】黑白三角拼图08(参考图+操作卡+黑白块,适合个别化)_如何用黑白积木组成一个三角形
https://blog.youkuaiyun.com/reasonsummer/article/details/141284892?spm=1011.2415.3001.5331
黑白三角的时候,只要做一份空白的操作卡背景图,和一份黑三角白三角贴图卡。
但是彩色的三角块是在7种颜色中随机选择颜色,不能确定每种颜色出现数量,所以要提供最多的颜色——如果是4宫格16个三角,就要16个红色、16个黄色、16个蓝色……

所以我修改代码,反复测试,终于实现了彩色的1页1图操作卡(单张)和贴图卡(多张)。



代码展示
'''
黑白三角图,2宫格36张,3宫格36张……适合个别化 大操作卡
01黑白三角 1页1图大操作图 黑白块 无空心点
1、选择颜色:156行换黑白色、彩色
2、有无空心点
3、随机图片
AI对话大师,阿夏
2025年3月23日
'''
import os,time
from PIL import Image, ImageDraw
from docx import Document
from docx.shared import Cm
from docx.shared import Pt
import shutil
import os
from PyPDF2 import PdfFileMerger
# 几张(几份)
zhangshu=3
# 起始宫格数
start=2
# 最大宫格数
end=10
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250323黑白三角图案版(彩色)'
colors=['red','yellow','orange','blue','green','purple','pink']
# 选择颜色:0黑白、1彩色
for gongge in range(start,end+1): # 遍历3宫格到10宫格
for ys in range(zhangshu,zhangshu+1):
new = path + fr'\{gongge:02}宫格组合图片'
os.makedirs(new, exist_ok=True)
radius = 5
f = 6 * ys # 一页6张
b = 400 # 画布大小
by = 10 # 边距
print('----------1\制作白色操作图------------')
for g in range(gongge,gongge+1):
for c in range(1, f + 1):
# 创建bxb的画布
canvas = Image.new('RGB', (b, b), (255, 255, 255))
draw = ImageDraw.Draw(canvas)
# 定义表格的行数和列数、边距
rows = g
cols = g
margin = by
# 计算单元格的宽度和高度
cell_width = (b - 2 * margin) // cols
cell_height = (b - 2 * margin) // rows
# 绘制表格的竖直线
for i in range(cols + 1):
x = margin + i * cell_width
draw.line([(x, margin), (x, b - margin)], fill=(0, 0, 0), width=2)
# 绘制表格的水平线
for i in range(rows + 1):
y = margin + i * cell_height