您的位置:首页 > 编程语言 > Python开发

python PIL --show me the code 0000

2014-12-17 22:53 375 查看
先废话一下,最近在学习python,决定把 github 上面的 show me the code 作为学习轨迹。希望能把过程记录下来, 也算对自己的一种鼓励与督促。
第 0000 题:
将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果
系统环境:win7 x86python version:3.4.2
python Imaging Library (PIL)是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能。目前PIL的官方最新版本为1.1.7,支持的版本为python 2.5, 2.6, 2.7,并不支持python3,但有高手把它重新编译生成python3下可安装的exe了。这一非官方下载地址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil或者直接点下面:PIL-1.1.7.win32-py3.2.‌exe [994 KB] [Python 3.2] [32 bit] [Jul 03, 2012]PIL-1.1.7.win32-py3.3.‌exe [988 KB][Python 3.3b1] [32 bit] [Jul 03, 2012]其他版本的可以戳这里 下载相应版本安装非常简单, 一路下一步,安装完成后就可以开始使用PIL了~
# encoding:utf-8from PIL.ImageFont import ImageFont__author__ = 'Administrator'from PIL import Imagefrom PIL import ImageDraw#获取image对象image = Image.open("mouse.jpg")#调整image尺寸image.thumbnail((200,200))# 获取image尺寸widtht, hight = image.size#把image对象作为参数,取得此image对象的draw:#draw:此image对象的画笔, 拿到draw对象后,就可以调用相应方法,在此image上进行绘制了draw = ImageDraw.Draw(image)
# draw.arc((x2,y1,x2,y2),start,end,fill):绘制弧线
# 第一个参数:4元坐标,定位绘制的位置
# start,end:表示这段弧是在角度 start 到 end 之间# fill:颜色draw.arc((widtht - 31, 0, widtht - 1, 30), 0, 360, fill=(255, 0, 0))
</pre><pre name="code" class="python"># draw.text((x.y),content,fill,font):绘制文本内容
# 第一个参数:2元坐标,定位绘制位置
# content: 所绘制文本内容,字符串类型
# fill: 颜色draw.text((widtht - 20, 10), '1', fill=(255, 0, 0), font=None)# 调用系统图片查看器显示绘制后的图片image.show()# 保存图片: save(filename,format)# filename:保存路径# format:图片保存格式,枚举值为:Bmp,Emf,Exif,Gif,Guid,Icon,Jpeg,MemoryBmp,Png,Tiff,Wmf# 若 format 参数缺省,则根据 filename 参数指定的后缀进行保存image.save('0001.jpeg')
ps: 在 python 2.7.8 使用PIL 时曾发生异常:show方法不能正常显示图片,windows图片显示器显示图片不存在。解决方法:X:\Python27\lib\site-packages\PIL\ImageShow.py,第99行替换为:return "start /wait %s && PING 127.0.0.1 -n 5 > NUL && del /f %s" % (file, file)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: