ImageFont模块定义了相同名称的类,即ImageFont类。这个类的实例存储bitmap字体,用于ImageDraw类的text()方法。
PIL使用自己的字体文件格式存储bitmap字体。用户可以使用pilfont工具包将BDF和PCF字体描述器(Xwindow字体格式)转换为这种格式。
从版本1.1.4开始,PIL可以配置是否支持TrueType和OpenType字体(和FreeType库支持其他的字体格式一样)。对于更早的版本,只在imToolkit包中支持TrueType字体。
TrueType采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,其特点是:TrueType既可以作打印字体,又可以用作屏幕显示;由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出。无论放大或缩小,字符总是光滑的,不会有锯齿出现。但相对PostScript字体来说,其质量要差一些。特别是在文字太小时,就表现得不是很清楚。
OpenType也叫Type 2字体,是由Microsoft和Adobe公司开发的另外一种字体格式。它也是一种轮廓字体,比TrueType更为强大,最明显的一个好处就是可以在把PostScript字体嵌入到TrueType的软件中。并且还支持多个平台,支持很大的字符集,还有版权保护。可以说它是Type 1和TrueType的超集。OpenType的主要优点:1)增强的跨平台功能 2)更好的支持Unicode标准定义的国际字符集 3)支持高级印刷控制能力 4)生成的文件尺寸更小 5)支持在字符集中加入数字签名,保证文件的集成功能。
OpenType标准还定义了OpenType文件名称的后缀名。包含TureType字体的OpenType文件后缀名为.ttf,包含PostScript字体的文件后缀名为.OTF。如果是包含一系列TrueType字体的字体包文件,那么后缀名为.TTC。
一、ImageFont模块的函数
1、 Load
定义:ImageFont.load(file)"htmlcode">
font = ImageFont.truetype("symbol.ttf", 16, encoding="symb") draw.text((0, 0), unichr(0xF000 + 0xAA))
4、 Load_default
定义:ImageFont.load_default()"color: #ff0000">二、ImageFont模块的方法
Font对象必须实现下面的方法,供ImageDraw层使用。
1、 Getsize
定义:font.getsize(text)"color: #ff0000">三、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如下图所示:
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]