Samoy的小窝


一只默默工作的程序猿


欢迎光临Samoy的小屋

Python实现生成验证码

下面是用Python实现的生成验证码的代码,以便日后使用.需要注意的是:

  1. 需要引入Pillow图片处理库,
  2. 字体须是已安装的字体.
# 引入所需要的第三方库:Pillow
from PIL import Image, ImageDraw, ImageFont
import random


def verify_code():
    # 设置背景色
    bg_color = (random.randrange(20, 100), random.randrange(20, 100), random.randrange(20, 100))
    # 设置大小
    width = 100
    height = 50
    # 创建画布
    im = Image.new('RGB', (width, height), bg_color)
    # 创建画笔
    draw = ImageDraw.Draw(im)
    # 描绘背景
    for i in range(0, 100):
        xy = (random.randrange(0, width), random.randrange(0, height))
        fill = (random.randrange(0, 255), 255, random.randrange(0, 255))
        draw.point(xy, fill)
    # 设置所有的字符
    string = '1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm'
    # 设置字体.注:字体需要使用已安装的字体,否则会报异常
    font = ImageFont.truetype('/Library/Fonts/Arial Bold.ttf', 40)
    # 设置文本颜色
    font_color = (255, random.randrange(0, 255), random.randrange(0, 255))
    # 写文本
    for i in range(0, 4):
        text = string[random.randrange(0, len(string))]
        draw.text((i * 25, 2), text, font=font, fill=font_color)
    del draw
    # 保存为图片
    im.save('code.png', 'PNG')


if __name__ == '__main__':
    verify_code()

欢迎在评论区留下您的见解~
最近的文章

Python实现爬取百度地图全国小区数据

代码如下:import requestsimport osimport jsonimport math# 由于使用了requests第三方库,因此headers可能暂时不需要headers = { 'Cookie': ''' BIDUPSID=2F56B41C608DF5A236E69D17F52E62DF; PSTM=1529402270; BAIDUID=85D43369E6DD3618039C668117839489:FG=1; BDUSS=hTODh1UktSN...…

Python
更早的文章

一些React第三方库收藏

1.Ant官网收集的库Ant官网已经收集许多react组件.地址:https://ant.design/docs/react/recommendation-cn 2.reduxredux是一个js的数据处理库,与react并无联系,但是可与react连接起来使用,所使用的库为为:react-reduxGithub地址:https://github.com/reduxjs/react-redux 3.RxJSRxJS是ReactiveX的js版本,有关ReactiveX的介绍请参考其...…

Web