Python: Window 64位 Python 使用PIL && 验证码生成
2015-09-01 22:30
841 查看
今天看公共主页上有个 文字转图片的消息,挺有意思, 里面使用了
结果报以下错误:
在网上查了查,不过大部分都是在
64位的python不能装上,也不可能装得上32位的PIL, 所以先把PY换成32位版本, 这个是最先搞清楚的.没有异议.
具体对错不太了解—
在原先代码里面的,
结果图:
PIL库, 就想试试。结果安装
PIL就遇到了不少问题QAQ.
问题
使用easy_install或者
pip安装好
PIL之后,用下面代码测试:
import Image # 打开图像文件 im = Image.open('test.jpg') # 获得图像尺寸: w, h = im.size # 缩放到50%: im.thumbnail((w//2, h//2)) # 把缩放后的图像用jpeg格式保存: im.save('res.jpg', 'jpeg')
结果报以下错误:
exceptions.IOError: decoder jpeg not available
在网上查了查,不过大部分都是在
Linux下的,只需要重新编译一个
libjpeg下载了之后,挺麻烦的还是不行–后来有的博客上直接说:
64位的python不能装上,也不可能装得上32位的PIL, 所以先把PY换成32位版本, 这个是最先搞清楚的.没有异议.
具体对错不太了解—
解决方法
使用PILLOW代替
PIL重新安装
PILLOW即可。
在原先代码里面的,
import Image等直接改为
from PIL import Image就可以了。
附:产生英文验证码代码
from PIL import Image, ImageFilter, ImageDraw, ImageFont import random def rndChar(): return chr(random.randint(65,90)) def rndColor(): return (random.randint(64,255),random.randint(64,255),random.randint(64,255)) def rndColor2(): return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127)) width = 60*4 height = 60 image = Image.new('RGB', (width, height), (255,255,255)) font = ImageFont.truetype('C:\\Windows\\Fonts\\Arial.ttf', 36) 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.show() image.save('code.jpg', 'jpeg');
结果图:
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法