Python 可以很方便地生成和顯示驗證碼。
import random from PIL import Image, ImageDraw, ImageFont # 生成隨機驗證碼 def generate_captcha(size=(120, 40), chars="ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789"): # 創(chuàng)建圖片對象 img = Image.new(mode="RGB", size=size, color=(255, 255, 255)) draw = ImageDraw.Draw(img) # 選擇字體和字號 font = ImageFont.truetype("arial.ttf", size=28) # 生成四個隨機字符 code = "".join(random.sample(chars, 4)) # 將字符畫到圖片上 draw.text((10, 5), code, font=font, fill=(0, 0, 0)) # 添加干擾線和噪點 for i in range(4): x1, y1 = random.randint(0, 60), random.randint(0, 20) x2, y2 = random.randint(80, 120), random.randint(20, 40) draw.line((x1, y1, x2, y2), fill=(0, 0, 0), width=1) for i in range(60): x, y = random.randint(0, 120), random.randint(0, 40) draw.point((x, y), fill=(0, 0, 0)) # 返回驗證碼和圖片 return code, img # 顯示驗證碼 def show_captcha(): code, img = generate_captcha() img.show() return code if __name__ == "__main__": code = show_captcha() print(f"驗證碼為:{code}")
代碼中使用了 Pillow 庫生成驗證碼圖片,先創(chuàng)建一個白色的圖片對象,然后隨機選擇四個字符,使用字體和字號將其寫到圖片上。為了增加難度,還添加了干擾線和噪點。最后將驗證碼和圖片一起返回。show_captcha 函數直接顯示驗證碼圖片,同時返回驗證碼。可以在需要驗證圖片驗證碼的地方調用該函數。
上一篇es6讀json文件
下一篇用JS將文本復制到剪貼板