【教学类

您所在的位置:网站首页 怎样批量拼图片上的图片 【教学类

【教学类

2023-06-02 02:09| 来源: 网络整理| 查看: 265

 作品展示

  

背景需求 难点:如何让生成图片带两个颜色的数字?

上一次”学号拼图3*3“学习活动中,发现03、04、05、06、08、09 、 23、26、28拼图都有困境,教师帮助。十位数字都包含多个圆弧结构,幼儿对于大量的圆弧碎片图形的多重组合(2个数字都是圆弧结构)感到茫然,没有黏贴。最后是教师指点后或者正确摆放后,幼儿才黏贴上去。(这条圆弧和这条圆弧能拼在一起,但实际并不是正确位置)

因此,笔者希望将学号的两个数字用不同灰度颜色表示(办公室打印机没有彩色墨水) 十位数的数字用深灰色,个位数的数字用浅灰色,有明显区分。

难点:如何让生成图片带两个颜色的数字?

参考CSDN,修改代码,实现需求

1、仿抖音短视频系统源码,制作彩色验证码_云豹网络科技的博客-CSDN博客

2、用python实现生成验证码图片_python生成验证码图片_心系五道口的博客-CSDN博客

代码设置: ''' 目的:学号拼图的两个数字颜色不同(深灰\浅灰) 作者:阿夏 日期:2023年05月23日22:17''' import random import string from random import choice, randint, randrange from PIL import Image, ImageDraw, ImageFont colour1=int(input('十位数的数字的颜色(100深灰)\n')) colour2=int(input('个位数的数字的颜色(170中灰)\n')) # 28个学号 num=[] for x in range(1,29): num.append('%02d'%x) print(num) # 循环28张图片 n=1 for x in range(len(num)): # 读取num里面的每个数字 res1="{}".format(num[x]) print(res1) # 25 # 26 # 27 # 28 # 图片大小、数字数量(坐标用) 背景色 size=[600,400] # 图片大小 characterNumber=2 # 几个数字随机抽取2个数字 bgcolor=(255,255,255) # 背景颜色 白色 imageTemp = Image.new('RGB', size, bgcolor) draw = ImageDraw.Draw(imageTemp) # text = selectedCharacters(characterNumber) # 文字格式 text = res1 font = ImageFont.truetype('c:\\windows\\fonts\\arial.TTF', 350) width, height = draw.textsize(text, font) # # 随机字符位置(确保数字在中心) startX = -90 widthEachCharater = width//characterNumber a=[colour1,colour2] # 深灰、中灰 for i in range(characterNumber): startX += widthEachCharater +1 # position = (startX, (size[1]-height)//2+randint(-5,5)) position = (startX,(size[1]-height)//7) g=b=r=a[i] # 第1个数字 RGB色等于深灰# 第2个数字 RGB色等于终会 draw.text(xy=position, text=text[i], font=font, fill= (r,g,b)) # 填充色彩 # 对像素位置进行微调,实现扭曲的效果 imageFinal = Image.new('RGB', size, bgcolor) pixelsFinal = imageFinal.load() pixelsTemp = imageTemp.load() for y in range(size[1]): offset = randint(-1,0) for x in range(size[0]): newx = x+offset if newx>=size[0]: newx = size[0]-1 elif newx=size[0]: newx = size[0]-1 elif newx


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3