生成验证码是一个常见的需求,特别是在创建网站或应用程序时。以下是一个简单的Python程序,使用PIL库生成验证码图片。这个程序会生成一个包含随机字符的验证码,并将其绘制在一个背景图像上。请注意,为了运行这个程序,你需要先安装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 draw_captcha(text, output_path):
# 设置背景颜色(RGB)和字体颜色(黑色)
bg_color = (random.randint(200, 255), random.randint(200, 255), random.randint(200, 255)) # 随机背景颜色以增加多样性
font_color = (0, 0, 0) # 黑色字体颜色
font_size = 36 # 字体大小
font = ImageFont.truetype("arial.ttf", font_size) # 使用字体文件(这里假设字体文件是arial.ttf)
image_width, image_height = 200, 80 # 图像尺寸(宽度和高度)
image = Image.new("RGB", (image_width, image_height), bg_color) # 创建新图像对象并设置背景颜色
draw = ImageDraw.Draw(image) # 创建Draw对象用于绘制图像内容
draw.text((image_width // 2 - len(text) * font_size // 2, image_height // 2), text, font=font, fill=font_color) # 在图像上绘制文本验证码内容(居中显示)
image.save(output_path) # 保存图像到指定路径(输出路径)
return image # 返回图像对象以便后续处理(例如添加干扰线条等)
if __name__ == "__main__":
captcha_str = generate_captcha() # 生成验证码字符串
draw_captcha(captcha_str, "captcha.png") # 生成验证码图片并保存到当前目录下的captcha.png文件中这个程序首先定义了一个函数generate_captcha()来生成随机验证码字符串,然后定义了一个函数draw_captcha()来创建一个包含验证码的图像并将其保存到文件中,你可以通过调整函数中的参数来改变生成的验证码的长度、背景颜色、字体大小等,最后在主函数中调用这两个函数来生成并保存验证码图片,注意,这个程序假设你有一个名为"arial.ttf"的字体文件,你需要将其替换为你系统中可用的字体文件路径。






