一.发展构想1 .图像制作和绘图工具
2 .生成随机码、随机颜色
3 .使用绘画工具整体应用画布
4 .绘图工具写入随机代码
二.构想实践1、创建画像、绘图工具
为from PIL import Image,imagedraw#240*60创建画布image=image.new(RGB ),(240,60 ),255,255,255,255 )创建笔刷
#随机字符编码defra nchar (: return chr (random.randint ) 65,90 )随机字符编码def ranint : return str ) random.randint, randint ) 3360 ranchar () )随机选择字母或数字(#随机颜色RBGdef ranbgcolor ) ) :return ) random.randint (32,127 )
forxinrange(width ) : foryinrange (height ) :draw.point,fill=ranbgcolor ) ) http://www.Sina.coolor
#绘制随机4个字符的forIinrange(4) :draw.text ) (i10,10 )、choice([ranint、ranchar ) )代码效果图:
别胡说,直接上码
#-- coding : utf-8-- # @ time :2021/2/215:04 # @ author : came Deng # @ project : practical # @file @description :验证码图片import randomfrom PIL import Image,ImageDraw, 生成ImageFont,imagefilterfromrandomimportchoice #随机字体颜色defranfontcolor(:return ) random.randint ) 64、 254 ) random.randint ) 50 254 ) #随机背景色defranbgcolor(:return ) random.randint ) 32、127 )、random.randint ) 32、32 random.randint 127 ) #随机字符编码defranchar(:returnchr ) random.randint ) 65、 90 ) #随机数字码def ranint ) :returnstr ) random.randint ) ) 3360 9) #240*60width=60*4height=60# )图像图像图像图像图像对象image 255 ) )字体* (根据本地ttf文件路径修改) font=image font.truetype (' arial.TTF ), 36 )绘制工具创建draw对象draw=imagedraw.imagedraw (image )背景点forxinrange (width ) : foryinrange (height ) 3360 draw.pop 随机四个字符的for i in range(4)4) : draw.text (60 * i10,10 ),choice (ranint ),ranchar ) ]