本文主要是介绍【教学类-60-01】彩色消划掉01(四个数字,X*Y宫格),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景需求:
🧠思维启蒙 - 小红书注意力训练小分享-彩色划消 训练孩子的视觉辨别能力、视觉稳定性、注意力分配额能力👀 一起来试试吧~ #分享学习方法 #注意力训练 #专注力训练#天津 #亲子时光 #孩子成长 #思维启蒙 #数学思维启蒙 #早教启蒙 #数学启蒙这样做 #科学思维 #科学思维训练https://www.xiaohongshu.com/explore/65d453e3000000000b01b410?app_platform=android&ignoreEngage=true&app_version=8.38.0&share_from_user_hidden=true&type=normal&author_share=1&xhsshare=WeixinSession&shareRedId=ODszMTs4Nk82NzUyOTgwNjg3OTlHS0xC&apptime=1717155047&share_id=e7197e0c6d5c46249e430a97557a445c
将以上样式复刻
代码展示
'''
彩色消除-注意力分享
作者:AI对话大师,阿夏
时间:2024年5月31日
'''from PIL import Image, ImageDraw, ImageFont
import randompath = r'C:\Users\jg2yXRZ\OneDrive\桌面\彩色划消'for xx in range(10):wides = 800 # 画布底边长度heights = 900 # 画布高度长度w = 14# 数字的行的数量h = 12# 数字的列的数量path = r'C:\Users\jg2yXRZ\OneDrive\桌面\彩色划消'# 创建画布canvas = Image.new("RGB", (wides, heights), (255, 255, 255))draw = ImageDraw.Draw(canvas)# 字体和数字颜色font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 50) # 使用宋体字体number_colors = {3: "red", 8: "blue", 9: "green", 6: "purple"}# 随机数字numbers = [3, 8, 9, 6]# 计算数字最大宽度和高度max_width = 0max_height = 0for number in numbers:width, height = draw.textsize(str(number), font=font)max_width = max(max_width, width)max_height = max(max_height, height)# 边距和间距margin = (wides - w * max_width) // (w + 1)spacing = marginmargin2 = (wides - h * max_height) // (h + 1)spacing2 = margin2# 绘制下方的 w * h 宫格grid_margin_top = heights-margin2 - h*max_height - margin2*(h-1)grid_margin_left = marginfor i in range(h):for j in range(w):# 计算文字位置x = grid_margin_left + j * (max_width + spacing)y = grid_margin_top + i * (max_height + spacing2)# 随机选择数字和颜色number = random.choice(numbers)color = number_colors[number]# 写入文字draw.text((x, y), str(number), fill=color, font=font)# 左上角数字# 字体和数字颜色font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 70) # 使用宋体字体,字号70number_color = 'black'# 在指定位置写入数字number = random.choice(numbers)position = (10, 30)# 写入文字draw.text(position, str(number) + ' 共有___个,用时__分钟', fill=number_color, font=font)# 保存图片canvas.save(path + fr"\{xx}.png")
一、14*12宫格
二、12*12
三、17*15
虽然写了,但是感觉挺浪费彩墨水的,比较适合小班孩子圈数字,只能圈,无法统计总数(数量太多了)
特别说明:
画布高度必须大于宽度,否则数字会把题目遮住的
假如:
wides = 1000 # 画布底边长度
heights = 900 # 画
wides = 900 # 画布底边长度
heights = 900 # 画
这篇关于【教学类-60-01】彩色消划掉01(四个数字,X*Y宫格)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!