python生成随机的图片验证码

class MyView(View):
    def get(self, request):
        # 创建一个画布
        img = Image.new('RGB', (200, 100), (0, 50, 200))

        # 创建一个画笔,并绑定画布
        img_draw = ImageDraw.Draw(img, 'RGB')

        # 创建一个字体,需要指定STATICFILES_DIRS = [ os.path.join(BASE_DIR,'statics')]
        font = ImageFont.truetype('statics/gb.ttf', size=50, encoding='utf-8')

        # 画什么东西,fill填充字体的颜色
        img_draw.text((15, 25), "hello world", fill=(100, 100, 100), font=font)
        for i in range(200):
            img_draw.point((random.randint(0,200), random.randint(0,100)),fill=(random.randint(0,255), random.randint(0,255), random.randint(0,255)))
        
        # 写入内容带内存缓冲区中,buffer相当于一个文件对象
        from io import BytesIO
        buffer = BytesIO()
        img.save(buffer, 'png')
        content = buffer.getvalue()

        return HttpResponse(content, content_type='image/png')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值