91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ImageFont模塊怎么在Python項目中使用

發布時間:2021-01-30 15:51:15 來源:億速云 閱讀:249 作者:Leah 欄目:開發技術

這篇文章給大家介紹ImageFont模塊怎么在Python項目中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

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)? 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之間繪制一個字符。

font = ImageFont.truetype("symbol.ttf", 16, encoding="symb")
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文件夾下選擇所需字體文件。

關于ImageFont模塊怎么在Python項目中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林芝县| 平和县| 贵溪市| 文登市| 正安县| 西宁市| 潞西市| 桃江县| 泰来县| 庆阳市| 延寿县| 柳江县| 瑞昌市| 中西区| 邹城市| 泰来县| 栾川县| 九寨沟县| 平度市| 台中市| 肃南| 惠东县| 盘山县| 夏邑县| 玉环县| 绍兴市| 望奎县| 微博| 尖扎县| 叙永县| 修水县| 宿迁市| 临汾市| 筠连县| 章丘市| 开鲁县| 盐津县| 北安市| 德昌县| 卢龙县| 南召县|