在Python中,我们可以使用第三方库如PIL(Python Imaging Library)来生成验证码图片。以下是一个简单的例子,生成一个包含随机字符的验证码图片。

确保你已经安装了PIL库,如果没有安装,可以使用pip进行安装:
pip install pillow
你可以使用以下代码来生成验证码图片:
from PIL import Image, ImageDraw, ImageFont
import random
import string
def generate_captcha(length=4):
# 生成随机字符列表
chars = string.ascii_letters + string.digits # 包括大小写字母和数字
captcha_str = ’’.join(random.choice(chars) for i in range(length)) # 生成随机字符串验证码
return captcha_str
def generate_captcha_image(text, font_size=30):
width, height = 200, 100 # 图片尺寸
image = Image.new(’RGB’, (width, height), color=(255, 255, 255)) # 创建空白图片
draw = ImageDraw.Draw(image) # 创建画笔对象
font = ImageFont.truetype(’arial’, font_size) # 使用字体文件生成字体对象,这里使用的是系统字体arial字体文件路径根据实际情况填写,如果没有字体文件,可以省略这一行和下一行,默认使用PIL自带的字体,但请注意,这可能会在某些系统上导致乱码。
draw.text((width // 2 - font_size // 2, height // 2 - font_size // 2), text, font=font, fill=(0, 0, 0)) # 在图片上绘制文本验证码字符,位置居中,颜色为黑色,可以根据需要调整颜色。
return image
if __name__ == "__main__":
captcha_str = generate_captcha() # 生成验证码字符串
image = generate_captcha_image(captcha_str) # 生成验证码图片
image.save(’captcha.png’) # 保存图片到本地文件,文件名可以是任何你想要的名称和格式(例如jpg、png等)注意:这个简单的例子没有添加任何干扰元素(如线条、噪点等),也没有进行任何形式的混淆处理(如扭曲字符),在实际应用中,你可能需要添加这些功能来提高验证码的安全性,这个例子使用了系统字体文件来生成文本字符的样式,如果你没有字体文件或者想使用不同的样式,你可能需要调整这部分的代码。





