python引入PIL做验证码,发现字体不支持的解决办法
来源:互联网 发布:战舰世界详细数据 编辑:程序博客网 时间:2024/06/12 20:46
from PIL import Image, ImageDraw, ImageFont, ImageFilterimport 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))# 240 x 60:width = 60 * 4height = 60image = Image.new('RGB', (width, height), (255, 255, 255))# 创建Font对象:font = ImageFont.truetype('Arial.ttf', 36)# 创建Draw对象:draw = ImageDraw.Draw(image)# 填充每个像素:for x in range(width): for y in range(height): draw.point((x, y), fill=rndColor())# 输出文字:for t in range(4): draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())# 模糊:image = image.filter(ImageFilter.BLUR)image.save('code.jpg', 'jpeg');
如果运行的时候报错:
IOError: cannot open resource
这是因为PIL无法定位到字体文件的位置,可以进行以下操作:
1、进入python的安装目录,一般默认是C:\python27
2、搜索.ttf
3、即可查到自己的电脑有哪些中字体格式,然后随机选一种并把绝对路径替换到代码中的Arial.ttf即可
例如:我查找到的绝对路径是:
C:/Python27/Lib/site-packages/matplotlib/mpl-data/fonts/ttf/cmb10.ttf
1 0
- python引入PIL做验证码,发现字体不支持的解决办法
- 在Python中用PIL做验证码
- Python + PIL 图片验证码
- Python的PIL库实现验证码图片
- Python的PIL库实现验证码图片
- python基于PIL和tesseract的验证码识别
- Python的PIL库实现验证码图片
- Python的PIL库实现验证码图片
- Python的PIL库实现验证码图片
- PIL(Python Image Library)生成验证码
- Python入门:PIL之验证码破解
- python+ PIL 生成验证码图片
- python selenium+PIL+免验证码登陆
- 无意中发现的,google浏览器对小字体不支持
- Python PIL图片添加字体
- Python: Window 64位 Python 使用PIL && 验证码生成
- 基于PIL的验证码识别
- 关于Python验证码识别安装PIL、tesseract-ocr与pytesseract模块的错误解决
- 三层架构实例
- linux read命令用法
- RadioGroup和Fragment组合实现切换类似于微博、微信底部的切换
- 金融项目经验之代码安全
- 浏览器存储
- python引入PIL做验证码,发现字体不支持的解决办法
- LeetCode97—Interleaving String
- Codeforces Round #345 (Div. 2)——A. Joysticks(模拟+特判)
- 搭建linux服务器之Debian安装Vim7.4
- bzoj3680: 吊打XXX
- sougou
- Android高阶UI之加入购物车选择颜色、尺码实现
- 番茄工作法学习笔记
- LA 2191(p247)----Potentiometers