python生成4位验证码_Python 生成4位验证码图片
import random
import string
from PIL import Image,ImageDraw,ImageFont,ImageFilter
# 字体的位置
font_path = "/Library/Fonts/Arial.ttf"
# 验证码的位数
number = 4
# 生成图片的大小
size = (100,30)
# 图片背景颜色-白色
bgcolor = (255,255,255)
# 验证码字体颜色——蓝色
fontcolor = (0,0,255)
# 干扰线的颜色——红色
linecolor = (255,0,0)
# 是否加入干扰线
draw_line = True
# 图片上干扰线的颜色
line_number = (1,5)
def gene_text():
# 获取26个英文字母
source = list(string.ascii_letters)
for index in range(0, 10):
# 获取10个数字
source.append(str(index))
return ''.join(random.sample(source, number)) # number是生成验证码的位数
#用来绘制干扰线
def gene_line(draw,width,height):
begin = (random.randint(0, width), random.randint(0, height))
end = (random.randint(0, width), random.randint(0, height))
draw.line([begin, end], fill = linecolor)
#生成验证码
def gene_code(k):
# 宽和高
width,height = size
# 创建图片
image = Image.new('RGBA',(width,height),bgcolor)
# 验证码的字体
font = ImageFont.truetype(font_path,25)
# 创建画笔
draw = ImageDraw.Draw(image)
# 生成字符串
text = gene_text()
font_width, font_height = font.getsize(text)
# 填充字符串
draw.text(((width - font_width) / number, (height - font_height) / number),text,\
font= font,fill=fontcolor)
if draw_line:
gene_line(draw,width,height)
# 创建扭曲
image = image.transform((width+20,height+10), Image.AFFINE, (1,-0.3,0,-0.1,1,0),Image.BILINEAR)
# 滤镜,边界加强
image = image.filter(ImageFilter.EDGE_ENHANCE_MORE)
# 保存验证码图片
image.save('%d.png'%k)
if __name__ == "__main__":
# 循环创建验证码图片
for i in range(0,1000):
gene_code(i)
python生成4位验证码_Python 生成4位验证码图片相关推荐
- python随机生成验证码_Python生成随机验证码
#生成随机验证码 from PIL importImagefrom io importBytesIOfrom PIL importImageDraw,ImageFontdefcheck_code(re ...
- python合并pdf 加书签_Python生成pdf目录书签的实例方法
有时候我们用的一些pdf资料是没有目录的,这样找寻我们想到的东西比较麻烦.本篇文章就为大家带来python来生成pdf目录书签的方法. 首先,我们需要下载一个软件FreePic2Pdf,利用它我们可以 ...
- python随机生成验证码_Python生成随机验证码的两种方法
# -*- coding: utf-8 -*- import random def generate_verification_code_v2(): ''' 随机生成6位的验证码 ''' code_l ...
- python随机验证码_Python生成随机验证码代码实例解析
生成6位随机验证码的3种实现方式如下: 1. 简单粗暴型:所有数字和字母都放入字符串: 2. 利用ascii编码的规律,遍历获取字符串和数字的字符串格式: 3. 引用string库. 方法1代码: i ...
- python随机生成六位数密码_python生成6位包含数字和字母的密码
初学python,简单敲了几行生成6位包含数字和字母密码的代码 (我是在python 3上敲的) 首先理清思路: 1.包含数字和字母的六位口令共有36^6个 2.将0-9和a-z合成一个字符串pwd, ...
- python日期格式转换成13位时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例...
我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...
- python有四个数字_Python生成0-9任意4位数字组合的方法
玩蛇网本文是关于Python生成0-9任意4位数字组合的方法示例.0-9个数字组成任意4位数字,有多少种排列组合的方式,要是用想的需要不少时间而且还容易出错.用python方法来解决这个问题显然简单得 ...
- python生成指定位数随机数_python生成指定长度的随机数密码
复制代码 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- #导入random和string模块 import random, string def ...
- python随机生成20个数字_python – 生成大量唯一的随机float32数字
最好的办法是生成随机的32位整数,然后将它们转换为浮点数.在生成数字时,您需要拒绝无穷大和NAN的位表示. 您可以从整数值而不是浮点值生成集合,然后在输出上进行转换.您可以使用位图来检测已使用的整数值 ...
最新文章
- TCL中Ports/Pins/Nets/Cells/Clocks之间的交互关系?
- Data truncation: Truncated incorrect DOUBLE value 解决方案
- 操作系统的安装与启动基本原理
- NOSQL的Redis的基础
- 复制K2流程图实现记录
- Ubuntu 学习系列-安装Flash播放器
- Ubuntu与CentOS的区别
- 「支持m1」自定义菜单键盘快捷键——CustomShortcuts for mac
- android 3d翻转动画 viewpage,利用ViewPager实现3D画廊效果及其图片加载优化
- NPM_出现 ETIMEDOUT
- 货币的时间价值及股票估值
- 【C++ Primer 第五版】序言+前言
- 小学计算机画图课件第一册,第一册信息技术课件-第三章 第1课 认识“画图”软件 甘少版(共12张PPT)...
- 和量子计算有什么区别 并发_超级计算机和量子计算机有什么区别?
- Android进阶之光 读书笔记
- 孩子近视了房间里用什么灯?保护视力的护眼灯
- 如何理解一台服务器可以绑定多个ip,一个ip可以绑定多个域名
- 云产品经理相关技术知识(一)
- 用python画宇宙_快来用Python和Blender超简单绘制你的宇宙飞船!
- 虚拟资源发布系统源码PHP,虚拟资源商品自动发货系统商城源码
热门文章
- $ajax({}).done 和 $ajax({}) success 区别
- Django View和URL
- 线程池写入mysql_用多线程写入数据库的问题(150分)
- 4天搞定Docker和k8s核心架构,稳拿35k不是问题?
- Jmeter之测试片段和模块控制器应用
- 关于ptype_all和pypte_base中的pt_prev的说明[转]
- Java编程设计---数组Arrays
- Navicat Premium试用期破解方法(转)
- li:nth-child()和 li:nth-of-type()选择器区别
- MyEclipse的Debug模式