代码def code():
code = ""
for _ in range(4):
digit = str(random.randint(0, 9))
code += digit
return code
@app.get('/code')
def generate_image():
number = code()
width, height = 200, 100
bg_color = (random.randint(10, 200), random.randint(20, 200), random.randint(50, 250))
image = Image.new("RGB", (width, height), bg_color)
draw = ImageDraw.Draw(image, 'RGB')
font = ImageFont.truetype("Ceria Lebaran.otf", 80)
num_particles = 200
particle_size = 3
for _ in range(num_particles):
x = random.randint(0, width-1)
y = random.randint(0, height-1)
color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
draw.ellipse([(x-particle_size, y-particle_size), (x+particle_size, y+particle_size)], fill=color)
text_width, text_height = draw.textsize(number, font=font)
x = (width - text_width) // 2
y = (height - text_height) // 2
draw.text((x, y), number, font=font, fill=(0, 0, 0))
image_io = BytesIO()
image.save(image_io, 'PNG')
image_io.seek(0)
image.save("verification_code.png")
return Response(content=image_io.getvalue(), media_type='image/png')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?