python用*号输出字母c的图案_第1.6题:使用Python生成字母验证码图片
题目来自:Python 练习册。题目1.6:使用 Python 生成类似于下图中的字母验证码图片
查看更多于本人博客:李飞阳
参考代码
我们用随机颜色填充背景,再画上文字,最后对图像进行模糊,得到验证码图片如下:from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random
# 随机字母:
def rndChar():
return chr(random.randint(65, 90))
# 随机颜色1:
def rndColor():
return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
# 随机颜色2:
def rndColor2():
return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))
def compose():
# 240 x 60:
width = 240
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('C:/windows/fonts/Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
for y in range(height):
draw.point((x, y), fill=rndColor())
# 输出文字:
letter = []
for t in range(4):
letter.append(rndChar())
draw.text((60 * t + 10, 10), letter[t], font=font, fill=rndColor2())
# 模糊:
image.save('code.jpg', 'jpeg')
image = image.filter(ImageFilter.BLUR)
image.save('filter.jpg', 'jpeg')
print (letter)
compose()
输出验证码原本数字:
模糊前:
image = image.filter(ImageFilter.BLUR) # 模糊:
模糊后:
如果运行的时候报错:
IOError: cannot open resource
这是因为PIL无法定位到字体文件的位置,可以根据操作系统提供绝对路径,比如:
'/Library/Fonts/Arial.ttf'
小结
PIL提供了操作图像的强大功能,可以通过简单的代码完成复杂的图像处理。
本文由 mmmwhy 创作,最后编辑时间为: May 2, 2019 at 01:53 pm
python用*号输出字母c的图案_第1.6题:使用Python生成字母验证码图片相关推荐
- python函数格式化输出唐诗《锦瑟》_编程小白是这样用python把唐诗玩坏的
最近对编程比较感兴趣,于是请教程序猿朋友们,最后都推荐我学习Python.翻看教程几天后,碰巧遇到有朋友在玩唐诗乱搭的游戏,于是我就写了一段python程序(对于能否叫程序我一直很怀疑),挑了了很多的 ...
- python标准库很丰富支持多种编程范式_基础班-第03天{python基础}
声明:内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归传智播客官方所有. 认识python(了解) 1.Python发展历史 起源 Python的作者,Guido von Rossum,荷兰 ...
- 官网的python下载安装后无需配置即可使用_图文解说少儿编程软件python下载安装,没有经验的新手也可以做到...
最近刚刚重新更换了电脑,对于这台电脑来说,python就是未认识的朋友,顺便给大家演示一下如何找到python.安装python.打开python,希望能给各位朋友提高很多的学习借鉴作用. 如何找到p ...
- python编程输入名字配对情侣网名_翻译:《实用的Python编程》01_05_Lists
1.5 列表 本节介绍 Python 原始数据类型列表(list). 列表是一种有序的集合.python 建立列表 使用方括号 [] 来定义列表字面量.git names = [ 'Elwood', ...
- 以下选项中、不是python对文件的打开模式的是_以下选项中,不是Python对文件的打开模式的是...
[判断题]不同物质,在产生能级跃迁时,吸收的光的频率是相同的 [单选题]下面代码的输出结果是 x=0b1010 print(x) [判断题]7.公路运输统一单证由交通部统一制定格式,这些单证可以作为物 ...
- python在vsc制作动态二维码_用VScode愉快的写python代码
前言 VScode是一个相当优秀的IDE,具备开源.跨平台.模块化.插件丰富.启动时间快.颜值高.可高度定制等等优秀的特质,不愧是微软爸爸的私生子. 所以用VScode来编写Python,也是相当的好 ...
- python实现一个简单的项目建议书范文_建议收藏,22个Python迷你项目(附源码)
Python部落在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项 ...
- python实现一个简单的项目建议书范文_建议收藏,18个Python迷你项目(附源码)
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...
- python c++情侣网名是什么意思_如何实现 C/C++ 与 Python 的通信?
########## 以下所有文字均为答主手敲,转载请注明出处和作者 ########## ## 更新:关于ctypes,见拙作 聊聊Python ctypes 模块 - 蛇之魅惑 - 知乎专栏 属于 ...
最新文章
- iOS翻页视图控制器UIPageViewController的应用
- (转)一个带自定义分页,排序功能的DATAGRID控件(公开源码)
- 最近,程序员又被区别对待了
- go 错误处理总结
- 新手做2D手游该用哪些工具?
- Nginx基本数据结构之ngx_hash_t
- 3-1067. 试密码
- bzoj 2435: [Noi2011]道路修建(DFS)
- python学习之老男孩python全栈第九期_day022作业
- 【PRML 学习笔记】第一章 - 介绍 (Introduction)
- 韦东山freeRTOS系列教程之【第一章】FreeRTOS概述与体验
- [源码和报告分享]基于Java的局域网聊天工具
- 用了半年的时间,把python学到了能出书的程度
- 在树莓派上安装配置远程摄像头监控motion
- R语言计算时间序列数据的移动平均值(滚动平均值、例如5日均线、10日均线等):使用zoo包中的rollmean函数计算k个周期移动平均值
- 数据库复习 - PART2 - 建模设计与范式
- Redis 设计与实现——读书笔记
- 5G和WiFi6的故事
- C++find_if算法
- QT使用libmodbus库与施耐德PLC通信
热门文章
- 获取双卡手机IMEI、IMSI
- matlab的上机报告,数理统计和Matlab上机报告.doc
- 关于电脑连不上WiFi,但可以连上网线的解决办法
- 怎么把腾讯QLV格式的“将夜”转换成MP4
- 防水蓝牙耳机哪个好?防水音质好的蓝牙耳机推荐
- 何水无鱼?何山无石?何人无父?何女无夫?何树无枝?何城无市?
- 正式发布!Matlab配色神器TheColor
- 客户关系管理(CRM)系统源码设计方案
- 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第13波-一键生成带图片自由报表...
- 想想自己如果不做开发,可能会从事什么职业?