import random

from PIL import Image, ImageFont, ImageDraw

from io import BytesIO

from ttt import settings

import os

import base64

PATH = os.path.join(settings.D_APP_ROOT, 'apps/membership/static/noisy.ttf')  #  字体

LEN_VERIFY = 4

def get_verify():

verify_len = LEN_VERIFY

weight = 108

hight = 41

# 大写字母,小写字母,数字

txt_list = [48, 49, 50, 51, 52, 53, 54, 55, 56, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,

81,

82, 83, 84, 85, 86, 87, 88, 89, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,

111,

112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]

image = Image.new('RGBA', (weight, hight), (255, 255, 255))

font = ImageFont.truetype(PATH, 20)

draw = ImageDraw.Draw(image)

# 填充背景

for x in range(weight):

for y in range(hight):

draw.point((x, y), fill=(200, 200, 200))

# 生成随机验证码

verify = ''

for t in range(verify_len):

text = chr(txt_list[random.randint(0, len(txt_list) - 1)])

verify += text

draw.text(((weight // verify_len) * t + 7, 10), text, font=font,

fill=(random.randint(32, 127), random.randint(32, 127), random.randint(32, 127)))

img_buffer = BytesIO()

image.save(img_buffer, 'PNG')

base = base64.b64encode(img_buffer.getvalue())

return base, verify

# django中返回方式

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

python3生成验证码_Python3实现生成验证码图片相关推荐

  1. python3 tkinter电子书_python3 tkinter实现添加图片和文本

    本文在前面文章基础上介绍tkinter添加图片和文本,在这之前,我们需要安装一个图片库,叫Pillow,这个需要下载exe文件,根据下面图片下载和安装. 下载完后直接双击安装exe,默认点击下一步,直 ...

  2. 生成四位验证码php,PHP生成四位整数验证码图片及使用例子

    //checkimg.php 生成四位整数验证码图片 Header("Content-type: image/PNG"); srand((double)microtime()*10 ...

  3. JAVA使用barcode4j生成条形码和二维码图片以及带logo的二维码,验证码图片

    二维码 1.Maven引入barcode4j依赖 <!-- 条形码生成 --><dependency><groupId>net.sf.barcode4j</g ...

  4. 动态生成能够局部刷新的验证码【AJAX技术】---看了不懂赔你钱

    在开发JavaWeb应用时,动态生成能够局部刷新的验证码是一项必须的功能,在这里我们将会详细的讲解如何实现这一功能. 一.涉及技术 该功能需要用到AJAX异步传输技术,这样能保证在点击"看不 ...

  5. python制作验证码_Python编写生成验证码的脚本的教程

    在web开发中经常用到验证码,为了防止机器人注册或者恶意登陆和查询等,作用不容小觑 但是验证码其实不是一个函数就能搞定的,它需要生成图片和水印,其实每种语言都有相关的函数生成图片和文字水印.包括我熟悉 ...

  6. java生成验证码实例_Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...

  7. java 验证码 算术_java生成图形验证码(算数运算图形验证码 + 随机字符图形验证码)...

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

  8. php图形验证码颜色,PHP实现生成带背景的图形验证码功能

    本文实例讲述了PHP实现生成带背景的图形验证码功能.分享给大家供大家参考,具体如下: 以前我们利用php生成的都是无背景或同一色彩背景的验证码了,但这种验证容易给机器识别了,这里就来介绍一些生成带背景 ...

  9. python 生成文字图案_python 生成图形验证码

    日常在网站使用过程中经常遇到图形验证,今天准备自己做个图形验证码,这算是个简单的功能,也适合新手练习的,便于自己学习. 主要用到的库--PIL图像处理库,简单的思路,我们需要随机的颜色,随机的数字或字 ...

最新文章

  1. python使用pyodbc连接sql server 2008
  2. 电脑基础操作_在东莞大朗,学习电脑办公软件,就要找这样的学校!
  3. qq空间说说服务器维护,如何解决QQ空间说说发表不了
  4. 【牛客 - 210A】游戏(思维,脑洞)
  5. mysql5.1数据库乱码_MySql5.1以上版本中文乱码的解决方法
  6. 安装Bootstrap3源码版本
  7. python将多重列表中的成绩按大小输出_Python编程从入门到实践-连载5(字 典)
  8. sb3转换exe_SB转exe或swf(sb3toSB2.rar
  9. Java毕设项目航空订票系统火车票订购系统(2021最新)
  10. 【应用时间序列分析】第一章 时间序列分析简介
  11. 《带着神兽自学少儿编程》之01:爸爸下载Scratch【关注可畅读】
  12. 浅谈group by和order by的用法和区别
  13. 无法进入网页版小木虫
  14. java固件包_iOS13 各版本固件下载地址以及更新方法
  15. 福利!在线编写代码的网站
  16. MYSQL之如何列转行
  17. 去哪儿网BI平台建设演进与实践
  18. matlab图形编辑,Matlab图形与编辑
  19. RAM flash和eeprom存储器的区别和作用
  20. 调光调色LED台灯触摸芯片-DLT8MA12T

热门文章

  1. 怎么解决vs2017一把鼠标放在Mat类上就卡死的问题
  2. 使用 Gogs 搭建自己的 Git 服务器
  3. 03-linux查询端口
  4. Linked List Cycle | ||
  5. JS Array创建及concat()split()slice()使用
  6. linux技巧33条
  7. DataGridView用法总结
  8. Spring.NET教程(三)——对象的创建(基础篇)
  9. 读书笔记《程序员修炼之道》
  10. nginx配置实战1----配置虚拟主机