from random import choice, randint, randrange
import string
from PIL import Image, ImageDraw, ImageFont#返回length长度随机字母和数字
def selectedCharacters(length):result = ''.join(choice(string.ascii_letters+string.digits) for _ in range(length))return result#返回随机色
def getColor():r = randint(0,255)g = randint(0,255)b = randint(0,255)return (r,g,b)def makeIMG():#图片属性size=[200,100]characterNumber=6bgcolor=(255,255,255)imageTemp = Image.new('RGB', size, bgcolor)draw = ImageDraw.Draw(imageTemp)text = selectedCharacters(characterNumber)font = ImageFont.truetype('c:\\windows\\fonts\\BRADHITC.TTF', 48)width, height = draw.textsize(text, font)#判断尺寸if width+2*characterNumber>size[0] or height>size[1]:print('Dimension are not legitimate')return# 随机字符位置startX = 0widthEachCharater = width//characterNumberfor i in range(characterNumber):startX += widthEachCharater + 1position = (startX, (size[1]-height)//2+randint(-5,5))draw.text(xy=position, text=text[i], font=font, fill=getColor())# 对像素位置进行微调,实现扭曲的效果imageFinal = Image.new('RGB', size, bgcolor)pixelsFinal = imageFinal.load()pixelsTemp = imageTemp.load()for y in range(size[1]):offset = randint(-1,0)for x in range(size[0]):newx = x+offsetif newx>=size[0]:newx = size[0]-1elif newx<0:newx = 0pixelsFinal[newx,y] = pixelsTemp[x,y]# 随机色像素点            draw = ImageDraw.Draw(imageFinal)for i in range(int(size[0]*size[1]*0.05)):draw.point((randrange(size[0]), randrange(size[1])), fill=getColor())# 绘制5条随机干扰直线for i in range(5):start = (0, randrange(size[1]))end = (size[0], randrange(size[1]))draw.line([start, end], fill=getColor(), width=1)# 绘制5条随机弧线for i in range(5):start = (-50, -50)end = (size[0]+10, randint(0, size[1]+10))draw.arc(start+end, 0, 360, fill=getColor())imageFinal.save("image.jpg")imageFinal.show()makeIMG()

Python制作彩色验证码相关推荐

  1. 网络视频直播系统,制作彩色验证码

    网络视频直播系统,实现制作彩色验证码相关代码 from random import choice, randint, randrange import string from PIL import I ...

  2. Python制作彩色二维码

    文章目录 1.安装myqr 2.生成二维码 3.动态二维码 4.彩色二维码 1.安装myqr 先在 pycharm 安装 myqr.或者,Python3 必装,然后命令行pip install myq ...

  3. 使用Python制作彩色气泡图

    最终实现的效果如图: 主要的步骤如下: 1.从.xlsx文件中读出制图所需要的的数据 2.使用matplotlib库绘图并保存 完整代码如下: # -*- coding: utf-8 -*- &quo ...

  4. Python第三方库巧用,制作图片验证码只需三行代码

    现在验证码的种类真的是越来越多,短信验证码.语音验证码.图片验证码.滑块验证码 - 我们在 PC 的网页端或者手机上的 app 进行登录或者注册时,应该总会遇见图片验证码,比如下面这类: 上面这些图片 ...

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

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

  6. Python模拟登录,Python识别图形验证码实现自动登陆

    前言 利用Python识别图形验证码,selenium模块实现自动登陆.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re: numpy模块: pytess ...

  7. 如何用python制作动态二维码,提升表白成功率?

    来源:凹凸数据 本文约1000字,建议阅读5分钟. 本文教你用python制作动态二维码,助你表白成功! 关注数据派THU(DatapiTHU)后台回复"20200520"获取完整 ...

  8. 几步教你用 Python 制作一个 RPA 机器人!

    作者 | 阿文 出品 | CSDN(ID:CSDNnews) 头图 | CSDN下载自东方IC 繁琐且重复的工作 在我们日常的工作中,有很多事情是重复且繁琐的,组织内部不同的部门开发出来的系统相互之间 ...

  9. 用Java语言编写的随机彩色验证码

    在制作网页过程中,免不了在登录注册页面增加一个验证码来延长数据提交时间,以免大量用户过快连接数据库读取,写入数据导致服务器崩溃.以下是用Java语言编写的彩色验证码,可用于jsp.html文件. 源代 ...

最新文章

  1. java 同步包_Java并发程序设计(四)JDK并发包之同步控制
  2. php钓鱼怎么使用方法,路亚钓法操作步骤及抛投技巧
  3. java同步队列_Java 中队列同步器 AQS(AbstractQueuedSynchronizer)实现原理
  4. test和read命令
  5. WP7 : FrameworkDispatcher.Update has not been called when recording audio(wp7 录音)
  6. C语言rf,C89:关键字 - osc_fdjrfnux的个人空间 - OSCHINA - 中文开源技术交流社区
  7. Android 高德地图 Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/lan
  8. AWSomeDay 中体会的Micro Service 微服务
  9. php fatal error: cannot redeclare,Fatal error: Cannot redeclare 常见问题_PHP教程
  10. quirks mode(怪异模式) 和 standard mode(标准模式)
  11. AutoCAD选择对象后触发事件,加载和卸载
  12. PM必读|如何成为卓有成效的产品经理
  13. 计算机课吐槽,让上课更有趣!这位老师的课学生可发弹幕提问吐槽
  14. 广州职称入户有哪些职称_最奇怪的职称也可能是最受欢迎的
  15. 微信小程序点击换头像-图片从本地获取-tab选项卡-点击按钮出弹框
  16. 面渣逆袭:Redis连环五十二问!三万字+八十图详解!
  17. 携手长亮数据打造数据底座 GBase 8a MPP助力承德银行数字化转型
  18. 转帖:DLL劫持技术详解(lpk.dll)
  19. Communication Setup Utility与GX Work2 仿真连接
  20. mysql errorcode 28_MySQL出现Errcode:28错误提示解决办法

热门文章

  1. 11 个问题,帮你彻底搞懂工业互联网
  2. 软件测试的出路到底在哪?
  3. 小米MIX Alpha获得百万美金技术大奖;索尼或将推出无边框手机;Linus 不建议用 ZFS | 极客头条...
  4. 开发人员在编写 HTML 和 CSS 时最常犯的六大错误
  5. 代码测试意味着完全消灭了 Bug?
  6. 为什么程序员愿意加入管理糟糕的创业公司?
  7. 身价百亿的中本聪是如何打造出“创世区块”的?
  8. 百度AI开发者实战营即将走进杭州,还带来了一大波福利!
  9. 黄章钦点的魅族大将,为什么会引发群嘲?
  10. 计算机组成原理第二次小组讨论课,巢湖电大开放教育计算机科学与技术(doc 6页).doc...