Python例子

Python例子-图片验证码

   

class ImageCodeView(View):
    def get(self,request):
    
        im = Image.new('RGB', (125, 50)) # 图片大小
        draw = ImageDraw.Draw(im)

        font = ImageFont.truetype(settings.BASE_DIR+'/html/static/simhei.ttf', 55) # 字体位置,字体大小
        def random_color1():
            """随机颜色1(用于填充字体)"""
            return random.randint(10, 80), random.randint(10, 80), random.randint(10, 80)

        def random_color2():
            """随即颜色2(用于填充背景)"""
            return random.randint(100, 255), random.randint(100, 255), random.randint(100, 255)

        for x in range(125):
            for y in range(50):
                draw.point((x, y), fill=random_color2())  # 对每个像素点进行填充
        draw.text((10, -2), 'ABCD', font=font,fill=random_color1()) # 10左偏移位置,0上偏移位置
        out = BytesIO()
        im.save(out, format='png') # 保存为PNG图片
        # out.getvalue()图片的二进制,返回前端游览器
        return HttpResponse(out.getvalue(),content_type='image/png')


最后修改:2020年5月14日 17:27