1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python 随机生成中文验证码的实例代码

Python 随机生成中文验证码的实例代码

时间:2019-04-21 23:25:58

相关推荐

Python 随机生成中文验证码的实例代码

后端开发|Python教程

Python,随机,中文,验证码

后端开发-Python教程

python代码

客服版小程序源码,ubuntu软件是英文,爬虫攻防之前端,php非类常量,seo面试职责lzw

# -*- coding: utf-8 -*-

import Image,ImageDraw,ImageFont

import random

import math, string

class RandomChar():

“””用于随机生成汉字”””

@staticmethod

def Unicode():

val = random.randint(0x4E00, 0x9FBF)

return unichr(val)

@staticmethod

def GB2312():

head = random.randint(0xB0, 0xCF)

body = random.randint(0xA, 0xF)

tail = random.randint(0, 0xF)

val = ( head << 8 ) | (body << 4) | tail

str = “%x” % val

return str.decode(‘hex’).decode(‘gb2312’)

class ImageChar():

def __init__(self, fontColor = (0, 0, 0),

size = (100, 40),

fontPath = ‘wqy.ttc’,

bgColor = (255, 255, 255),

fontSize = 20):

self.size = size

self.fontPath = fontPath

self.bgColor = bgColor

self.fontSize = fontSize

self.fontColor = fontColor

self.font = ImageFont.truetype(self.fontPath, self.fontSize)

self.image = Image.new(‘RGB’, size, bgColor)

def rotate(self):

self.image.rotate(random.randint(0, 30), expand=0)

def drawText(self, pos, txt, fill):

draw = ImageDraw.Draw(self.image)

draw.text(pos, txt, font=self.font, fill=fill)

del draw

def randRGB(self):

return (random.randint(0, 255),

random.randint(0, 255),

random.randint(0, 255))

def randPoint(self):

(width, height) = self.size

return (random.randint(0, width), random.randint(0, height))

def randLine(self, num):

draw = ImageDraw.Draw(self.image)

for i in range(0, num):

draw.line([self.randPoint(), self.randPoint()], self.randRGB())

del draw

def randChinese(self, num):

gap = 5

start = 0

for i in range(0, num):

char = RandomChar().GB2312()

x = start + self.fontSize * i + random.randint(0, gap) + gap * i

self.drawText((x, random.randint(-5, 5)), RandomChar().GB2312(), self.randRGB())

self.rotate()

self.randLine(18)

def save(self, path):

self.image.save(path)

flash asp视频源码,vscode发热,ubuntu ios7,tomcat .jks,sqlite储存方式,服务器主机名怎么查,dz微信插件,最好前端开发框架,winform 爬虫,php开源直播系统,深圳专业seo外包,约炮网站源码,美丽说网页登陆,超市代理商网站模板,.net iis配置伪静态页面,易方虚拟主机管理系统V4.2.4,数据采集源程序lzw

调用方法

电子商务 手机端asp源码,vscode jq提示,dos ubuntu,tomcat 部署ip,mfc使用sqlite3,dede qq登录插件 utf8,前端常用的ui框架有哪些,地爬虫用什么药消灭,php 传址,seo页面优化内容,门户生活网站源码,网页翻牌广告,电视直播页面模板lzw

ic = ImageChar(fontColor=(100,211, 90))

ic.randChinese(4)

ic.save(“1.jpeg”)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。