PIL的相关方法
---恢复内容开始---
一、ImageFont模块的函数
1、 Load
定义:ImageFont.load(file)? Font instance
含义:从指定的文件中加载一种字体,该函数返回对应的字体对象。如果该函数失败,将产生IOError异常。
2、 Load_path
定义:ImageFont.load_path(file)? Font instance
含义:和函数load()一样,但是如果没有指定当前路径的话,会从sys.path开始查找指定的字体文件。
3、 Truetype
定义1:ImageFont.truetype(file,size) ? Font instance
含义1:加载一个TrueType或者OpenType字体文件,并且创建一个字体对象。这个函数从指定的文件加载了一个字体对象,并且为指定大小的字体创建了字体对象。
在windows系统中,如果指定的文件不存在,加载器会顺便看看windows的字体目录下是否存在。
这个函数需要_imagingft服务。
定义2:ImageFont.truetype(file,size, encoding=value) ? Font instance
含义2:(New in 1.1.5)加载一个TrueType或者OpenType字体文件,并且使用指定的编码方式创建一个字体对象。通常的编码方式有“unic”(Unicode),“symb”(Microsoft Symbol),“ADOB”(Adobe Standard),“ADBE”(Adobe Expert)和“armn”(Apple Roman)。
下面的例子使用MicrosoftSymbol字体,即变量encoding为“symb”,在oxF000和0xF0FF之间绘制一个字符。
1.font = ImageFont.truetype("symbol.ttf", 16, encoding="symb") 2.draw.text((0, 0), unichr(0xF000 + 0xAA))
4、 Load_default
定义:ImageFont.load_default()? Font instance
含义:(New in 1.1.4)加载一个默认的字体。
二、ImageFont模块的方法
Font对象必须实现下面的方法,供ImageDraw层使用。
1、 Getsize
定义:font.getsize(text)? (width, height)
含义:返回给定文本的宽度和高度,返回值为2元组。
2、 Getmask
定义:font.getmask(text,mode=”“) ? Image object
含义:为给定的文本返回一个位图。这个位图是PIL内部存储内存的实例(为Image.core接口模块定义)。
如果字体使用了抗锯齿,位图的模式为“L”,且其最大值为255。否则,它的模式为“1”。
(New in 1.1.5)可选参数mode用于一些显卡驱动指定自己喜欢的模式;如果为空,渲染器可能会返回任意模式。注意:该模式总是一个字符串。
三、ImageFont模块的实例
>>> from PIL import Image, ImageDraw, ImageFont >>> im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg") >>> draw = ImageDraw.Draw(im02) >>> ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 20) >>> draw.text((30,30), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'red') >>> ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 40) >>> draw.text((30,100), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'green') >>> ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 60) >>> draw.text((30,200), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'blue') >>> ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMLI.TTF", 40) >>> draw.text((30,300), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'red') >>> ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\STXINGKA.TTF", 40) >>> draw.text((30,400), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'yellow') >>> im02.show()
在windows系统下,字体文件位于C:\Windows\Fonts文件夹下。本实例中用到的SIMYOU.TTF为幼圆字体文件,SIMLI.TTF为隶书字体文件,STXINGKA.TTF为行楷字体文件。用户可以根据自己的需要,从Fonts文件夹下选择所需字体文件。
字体的大小,可以根据定义字体时的第二个参数来设定。
本实例中图像im02如下图所示: