最近在github找到了一个有趣的练习 下面给出链接
第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果
Answer:
-
Python强大的图片处理库——Pillow
遇到一个新的库时候 最好的办法就是阅读Pillow官方文档
-
Pillow的安装方式也十分简单 首先你要确定你安装了pip
关于pip的安装在笨办法学python应该已经讲到了 如果你已经有pip直接执行第三步吧
cd X:/Python27/Script
easy_install pip
pip install pillow
-
这里先给出代码实现
#coding:utf-8
#Image:对象的实例代表一张图片,可以进行一些大小变换和仿射变换操作
#ImageFont:用来加载准备阶段中下载的字体库文件
#ImageDraw: 基于image对象,创建一个可以在Image实例上画线条、贴文字的对象。
from PIL import Image,ImageDraw,ImageFont
#这里使用图片的绝对路径
img=Image.open(r'C:\Users\Alex.hasee-PC\Desktop\pythonprogram\1.jpg')
draw=ImageDraw.Draw(img)
#设置字体及大小
font = ImageFont.truetype('C:/windows/fonts/STHUPO.ttf', size=40)
#设置字体颜色
fontcolor = "#ff0000"
#输出宽和高(像素),可以确定右上方位置
'''w,h=img.size
print w,h'''
#draw.text((530,0),'99', font=font, fill=fontcolor)
draw.text((400,0),unicode('big熊猫','utf-8'), font=font, fill=fontcolor)
img.save(r'C:\Users\Alex.hasee-PC\Desktop\pythonprogram\1-copy.jpg','jpeg')
img.show()
-
关于字体的调整问题
进入C:/windows/fonts后你会看到各种字体 他们会有各种各样的名字
但是真名要用右键属性来得到
-
关于插入中文的问题
代码中已经给出了一种实现 另一种
draw.text((400,0),u'big熊猫', font=font, fill=fontcolor)
-
关于字体颜色
-
更改前后的图片以及代码已经上传github