基于python的图片验证码的制作

''' 验证码的图片制作 ''' 

from PIL import Image,ImageFilter,ImageDraw,ImageFont

import random

def rndChar():

     return chr(random.randint(65, 90)) # 随机颜色1: 

def rndColor(): 

     return (random.randint(64, 255),

     random.randint(64, 255)

     random.randint(64, 255)) # 随机颜色2: 

def rndColor2(): 

     return (random.randint(32, 127)

     random.randint(32, 127),

     random.randint(32, 127)) 

width = 210 

height = 100 

img = Image.new('RGB',(width,height),(255,255,255)) 

font = ImageFont.truetype("arial.ttf", 36) 

# font = ImageFont.truetype('Arial.ttf', 36) 

# 创建Draw对象: draw = ImageDraw.Draw(img)

# 填充每个像素: 

for x in range(width): 

     for y in range(height): 

         draw.point((x, y)

         fill=rndColor()) 

l=[]       #定义一个列表,保存图片内容

# 输出文字:

for t in range(4): 

     m = rndChar()

     draw.text((55 * t + 10, 20), m, font=font, fill=rndColor2())     l.append(m) 

# 模糊: 

# image = img.filter(ImageFilter.BLUR) 

# image.show() 

print(l)          #输出图片中的字符串,以便于进行后期的比较

img.show()     #查看效果图

img.save(r'C:\Users\鹏COMPUTER\Desktop\m.jpg', 'jpeg');


这以上是我所觉得简单的代码,做了额外的小部分扩充,但是这个的背景是根据每个点都设置不同的颜色,所以有了背景色,否则背景色是白色。

刚接触,希望路过的的大神可以指出更好的方法,互相学习!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容