【python图像】给你的头像+1

原文:

http://www.cnblogs.com/SeekHit/p/6101867.html

早些年,微信朋友圈有段时间非常流行这个头像+1的套路,简直逼死强迫症。

将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

 

涉及知识:

Python Imaging Library (PIL)图像库,Image, ImageDraw, ImageFont模块

 

话不多说先上代码:

复制代码
 1 from PIL import Image, ImageDraw, ImageFont
 2 
 3 def add_num(img):
 4     draw = ImageDraw.Draw(img)
 5     myfont = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 200)
 6     width, height = img.size
 7     draw.ellipse((width-200,0,width,200),fill="red",outline ="red")
 8     draw.text((width-150, 15), '1', font=myfont, fill="white")
 9 
10     img.save('result.jpg','jpeg')
11 
12 image = Image.open('yoyo.jpg')
13 add_num(image)
复制代码

 

其中ImageFont.truetype(file,size) ? Font instance

含义:加载一个TrueType或者OpenType字体文件,并且创建一个字体对象。这个函数从指定的文件加载了一个字体对象,并且为指定大小的字体创建了字体对象。

在windows系统中,如果指定的文件不存在,加载器会顺便看看windows的字体目录下是否存在。

 

绘制效果:

 

 

 

过程中可能会出现的问题:

首先是PIL库的安装。我用的是pycharm,Python版本2.7。第一次装也是装了几次才成功,主要原因是,通过pycharm直接安装,里面装的版本只有1.1.6的,安装之后,运行不了,会提示你找不到合适的Python版本。

然后我就去网上查了下,知道了PIL库主要2.5  2.6用的比较多,2.7需要装最新版的库。

The following downloads are currently available:

PIL 1.1.7

Additional downloads may be found here.

PIL 1.1.6

然后下载了2.7可以用的1.1.7,双击安装,然后再Pycharm - File - Setting - Project Interpreter - Available Packages 然后面板左下角的Manage Repositories中添加,PIL安装的路径,我的路径是(C:\Python27\Lib\site-packages\PIL)。

退回到settings界面,可以看到PIL库已经安装好了。


【个人追记】

上述的PIL安装包适用于win32系统,win64请自行搜索下载


》ImageDraw.Draw(img)

创建一个图形处理对象,参数为打开之后的图形


》ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 200)

定义了文字的样式和大小,第一个参数为样式,第二个参数为大小


》draw.ellipse((width-200,0,width,200),fill="red",outline ="red")

在draw图形对象上画一个圆/椭圆,将这个圆/椭圆看成装在一个矩形里面,

前四个参数分别代表圆/椭圆的x,y坐标(X1,Y1),右下角的x,y坐标(X2,Y2)

当这个矩形是正方形时,画出来的是圆,否则是椭圆。

fill = 这个圆/椭圆 内部被填充成了什么颜色,outline = 这个圆/椭圆的边界线是什么颜色


draw.text((width-150, 15),'1', font=myfont, fill="white")

在draw图形对象上添加一个文字框,坐标是(width-150, 15),内容是1,

用front的样式,字体填充色是white。


imageDraw,imageFornt参考:

http://blog.csdn.net/dou_co/article/details/17618319

http://www.aichengxu.com/python/39904.htm


以上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值