图形验证码通常用于网站注册或登录时防止机器人自动化操作。下面是一个简单的Python示例,使用PIL库生成图形验证码。请注意,这只是一个基本的示例,实际的验证码系统可能需要更复杂的安全措施。

确保已经安装了PIL库(Python Imaging Library),如果没有安装,可以使用pip进行安装:
pip install pillow
你可以使用以下代码生成一个简单的图形验证码:
from PIL import Image, ImageDraw, ImageFont
import random
import string
def generate_captcha_text(length=4):
"""生成随机的验证码文本"""
return ’’.join(random.choices(string.ascii_uppercase + string.digits, k=length))
def generate_captcha_image(text, width=150, height=50):
"""生成带有文本的验证码图像"""
image = Image.new(’RGB’, (width, height), color=(random.randint(200, 255), random.randint(200, 255), random.randint(200, 255))) # 背景颜色随机生成
draw = ImageDraw.Draw(image) # 创建绘图对象
font = ImageFont.truetype(’arial.ttf’, 36) # 使用字体文件,这里假设arial字体文件在当前目录或者系统的字体目录中
draw.text((width//2-len(text)*10//2, 10), text, font=font, fill=(random.randint(0, 120), random.randint(0, 120), random.randint(0, 120))) # 在图像上添加文本,位置居中,颜色随机生成
return image
def generate_captcha():
text = generate_captcha_text() # 生成验证码文本
image = generate_captcha_image(text) # 生成验证码图像
image.save(’captcha.png’) # 保存图像到文件,你可以根据需要改变保存的文件名和路径
return text # 返回验证码文本,用于验证用户输入是否正确
生成并保存一个验证码图像
generate_captcha()这段代码首先定义了一个函数来生成随机的验证码文本(只包含大写字母和数字),然后定义了一个函数来生成带有文本的验证码图像,最后定义了一个函数来整合这两个步骤并保存生成的图像,你可以根据需要调整宽度、高度和字体等参数,注意,这里假设你有一个名为 ’arial.ttf’ 的字体文件,你需要将其替换为你系统中可用的字体文件的路径,生成的图像将保存在当前目录下并命名为 ’captcha.png’,你也可以根据需要更改这些设置。





