最近给自己找点事做,因为工作的原因,一直没机会学习期待已久的python。python基础教程买过来也躺在那里挺久了,终于派上了用场,我一直坚信像python一样入门难度低的语言才是未来发展的王道。而向C/C++只会越来越小众,不想被社会淘汰,还是得努力学习。
我对图像处理这块一直很感兴趣,而python对于处理图像有得天独厚的优势,于是乎拿图像处理来入手python吧。
PIL(python image library)是一个非常简单而强大的图像处理库。
以windows平台,python2.7版本为例,为啥不用3.X系列的呢,我试过了,最新的PIL库对windows上的python3.X的支持不是很好,所以就采用python2.7版本,如果有需要你也可以在官网上下载(http://www.pythonware.com/products/pil/)。
现在正式进入PIL的世界,python基础就不再讲述,基础语法很简单,相信大家都可以。
这次以一个实例为目标,来介绍几个python PIL的函数。
目标:实现在图片中添加一个文本,相当于水印!
准备环境:python2.7PIL(Python ImagingLibrary 1.1.7 for Python 2.7)
实现效果:
拿了一个搞笑图片作为示范,不要介意。
下面我贴上代码:
from PIL import Image, ImageDraw, ImageFont #添加PIL类库,使用了三个模块
def add_num(img): #处理函数
draw = ImageDraw.Draw(img) #使用imageDraw模块载入图片
myfont= ImageFont.truetype('C:/windows/fonts/STCAIYUN.TTF', size=40)
# C:/windows/fonts/STCAIYUN.TTF为windows中的字体,可以随意选择自己喜欢的,大小为40
fillcolor = "#ffffff" #颜色设置 第一个ff为Red数值,第二个ff为Green数值,第三个ff为Blue
draw.text((0, 100), 'python test',font=myfont, fill=fillcolor) #选择开始位置(0,100)开始绘制
img.save('result.jpg','jpeg') #将绘制的图片保存为result.jpg
return 0
if __name__ == '__main__':
image = Image.open('test.jpg') #打开图片
add_num(image) #调用函数