共计 1177 个字符,预计需要花费 3 分钟才能阅读完成。
Python 中生成验证码的方法有多种,以下是其中一种常用的方法:
- 使用 Python 的 Pillow 库来生成验证码图像,然后将图像保存或显示出来。首先需要安装 Pillow 库,可以使用 pip 命令安装:
pip install Pillow
。
下面是一个生成简单数字验证码的示例代码:
from PIL import Image, ImageDraw, ImageFont
import random
# 随机生成 4 位验证码
def generate_code():
code = ''
for _ in range(4):
# 随机生成数字
code += str(random.randint(0, 9))
return code
# 生成验证码图像
def generate_image(code):
# 图像大小和背景颜色
width, height = 120, 50
bg_color = (255, 255, 255)
# 创建图像对象
image = Image.new('RGB', (width, height), bg_color)
draw = ImageDraw.Draw(image)
# 加载字体
font = ImageFont.truetype('arial.ttf', 36)
# 绘制验证码文字
text_width, text_height = draw.textsize(code, font=font)
x = (width - text_width) // 2
y = (height - text_height) // 2
draw.text((x, y), code, font=font, fill=(0, 0, 0))
# 绘制干扰线
for _ in range(6):
x1 = random.randint(0, width)
y1 = random.randint(0, height)
x2 = random.randint(0, width)
y2 = random.randint(0, height)
draw.line((x1, y1, x2, y2), fill=(0, 0, 0), width=2)
# 绘制噪点
for _ in range(100):
x = random.randint(0, width - 1)
y = random.randint(0, height - 1)
draw.point((x, y), fill=(0, 0, 0))
return image
# 生成验证码并保存图像
code = generate_code()
image = generate_image(code)
image.save('code.jpg')
上述代码使用了 Pillow 库创建了一个大小为 120×50 像素的白色背景图像,使用 Arial 字体绘制了随机生成的 4 位数字验证码,并添加了干扰线和噪点。最后将生成的验证码图像保存为 code.jpg 文件。
当然,验证码的生成方法还可以根据需求进行调整,例如可以生成字母 + 数字的验证码,或者增加更复杂的干扰元素等。
丸趣 TV 网 – 提供最优质的资源集合!
正文完