最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python圖像處理庫PIL的ImageFont模塊使用介紹

 更新時(shí)間:2020年02月26日 10:15:40   作者:icamera0  
這篇文章主要介紹了Python圖像處理庫PIL的ImageFont模塊使用介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

ImageFont模塊定義了相同名稱的類,即ImageFont類。這個(gè)類的實(shí)例存儲bitmap字體,用于ImageDraw類的text()方法。

PIL使用自己的字體文件格式存儲bitmap字體。用戶可以使用pilfont工具包將BDF和PCF字體描述器(Xwindow字體格式)轉(zhuǎn)換為這種格式。

從版本1.1.4開始,PIL可以配置是否支持TrueType和OpenType字體(和FreeType庫支持其他的字體格式一樣)。對于更早的版本,只在imToolkit包中支持TrueType字體。

TrueType采用幾何學(xué)中二次B樣條曲線及直線來描述字體的外形輪廓,其特點(diǎn)是:TrueType既可以作打印字體,又可以用作屏幕顯示;由于它是由指令對字形進(jìn)行描述,因此它與分辨率無關(guān),輸出時(shí)總是按照打印機(jī)的分辨率輸出。無論放大或縮小,字符總是光滑的,不會有鋸齒出現(xiàn)。但相對PostScript字體來說,其質(zhì)量要差一些。特別是在文字太小時(shí),就表現(xiàn)得不是很清楚。

OpenType也叫Type 2字體,是由Microsoft和Adobe公司開發(fā)的另外一種字體格式。它也是一種輪廓字體,比TrueType更為強(qiáng)大,最明顯的一個(gè)好處就是可以在把PostScript字體嵌入到TrueType的軟件中。并且還支持多個(gè)平臺,支持很大的字符集,還有版權(quán)保護(hù)。可以說它是Type 1和TrueType的超集。OpenType的主要優(yōu)點(diǎn):1)增強(qiáng)的跨平臺功能 2)更好的支持Unicode標(biāo)準(zhǔn)定義的國際字符集 3)支持高級印刷控制能力 4)生成的文件尺寸更小 5)支持在字符集中加入數(shù)字簽名,保證文件的集成功能。

OpenType標(biāo)準(zhǔn)還定義了OpenType文件名稱的后綴名。包含TureType字體的OpenType文件后綴名為.ttf,包含PostScript字體的文件后綴名為.OTF。如果是包含一系列TrueType字體的字體包文件,那么后綴名為.TTC。

一、ImageFont模塊的函數(shù)

1、  Load

定義:ImageFont.load(file)⇒ Font instance

含義:從指定的文件中加載一種字體,該函數(shù)返回對應(yīng)的字體對象。如果該函數(shù)失敗,將產(chǎn)生IOError異常。

2、  Load_path

定義:ImageFont.load_path(file)⇒ Font instance

含義:和函數(shù)load()一樣,但是如果沒有指定當(dāng)前路徑的話,會從sys.path開始查找指定的字體文件。

3、  Truetype

定義1:ImageFont.truetype(file,size)⇒ Font instance

含義1:加載一個(gè)TrueType或者OpenType字體文件,并且創(chuàng)建一個(gè)字體對象。這個(gè)函數(shù)從指定的文件加載了一個(gè)字體對象,并且為指定大小的字體創(chuàng)建了字體對象。

在windows系統(tǒng)中,如果指定的文件不存在,加載器會順便看看windows的字體目錄下是否存在。

這個(gè)函數(shù)需要_imagingft服務(wù)。

定義2:ImageFont.truetype(file,size, encoding=value)⇒ Font instance

含義2:(New in 1.1.5)加載一個(gè)TrueType或者OpenType字體文件,并且使用指定的編碼方式創(chuàng)建一個(gè)字體對象。通常的編碼方式有“unic”(Unicode),“symb”(Microsoft Symbol),“ADOB”(Adobe Standard),“ADBE”(Adobe Expert)和“armn”(Apple Roman)。

下面的例子使用MicrosoftSymbol字體,即變量encoding為“symb”,在oxF000和0xF0FF之間繪制一個(gè)字符。

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)加載一個(gè)默認(rèn)的字體。

二、ImageFont模塊的方法

Font對象必須實(shí)現(xiàn)下面的方法,供ImageDraw層使用。

1、  Getsize

定義:font.getsize(text)⇒ (width, height)

含義:返回給定文本的寬度和高度,返回值為2元組。

2、  Getmask

定義:font.getmask(text,mode=”“)⇒ Image object

含義:為給定的文本返回一個(gè)位圖。這個(gè)位圖是PIL內(nèi)部存儲內(nèi)存的實(shí)例(為Image.core接口模塊定義)。

如果字體使用了抗鋸齒,位圖的模式為“L”,且其最大值為255。否則,它的模式為“1”。

(New in 1.1.5)可選參數(shù)mode用于一些顯卡驅(qū)動(dòng)指定自己喜歡的模式;如果為空,渲染器可能會返回任意模式。注意:該模式總是一個(gè)字符串。

三、ImageFont模塊的實(shí)例

>>> 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系統(tǒng)下,字體文件位于C:\Windows\Fonts文件夾下。本實(shí)例中用到的SIMYOU.TTF為幼圓字體文件,SIMLI.TTF為隸書字體文件,STXINGKA.TTF為行楷字體文件。用戶可以根據(jù)自己的需要,從Fonts文件夾下選擇所需字體文件。

字體的大小,可以根據(jù)定義字體時(shí)的第二個(gè)參數(shù)來設(shè)定。

本實(shí)例中圖像im02如下圖所示:

到此這篇關(guān)于Python圖像處理庫PIL的ImageFont模塊使用介紹的文章就介紹到這了,更多相關(guān)PIL ImageFont模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python的SymPy庫解決數(shù)學(xué)運(yùn)算問題的方法

    使用Python的SymPy庫解決數(shù)學(xué)運(yùn)算問題的方法

    這篇文章主要介紹了使用Python的SymPy庫解決數(shù)學(xué)運(yùn)算問題的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 用Python?Turtle畫棵櫻花樹送給自己

    用Python?Turtle畫棵櫻花樹送給自己

    心情不好的時(shí)候,來用Python和Turtle庫畫棵櫻花樹送給自己吧,自己也要好好愛自己才對!文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手試一試
    2022-02-02
  • 在Python中使用M2Crypto模塊實(shí)現(xiàn)AES加密的教程

    在Python中使用M2Crypto模塊實(shí)現(xiàn)AES加密的教程

    這篇文章主要介紹了在Python中使用M2Crypto模塊實(shí)現(xiàn)AES加密的教程,例子中的方法使用aes_128_ecb算法,需要的朋友可以參考下
    2015-04-04
  • 對python中xlsx,csv以及json文件的相互轉(zhuǎn)化方法詳解

    對python中xlsx,csv以及json文件的相互轉(zhuǎn)化方法詳解

    今天小編就為大家分享一篇對python中xlsx,csv以及json文件的相互轉(zhuǎn)化方法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python實(shí)現(xiàn)手機(jī)銷售管理系統(tǒng)

    python實(shí)現(xiàn)手機(jī)銷售管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)手機(jī)銷售管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 利用Python解決Excel問題的最佳方案總結(jié)

    利用Python解決Excel問題的最佳方案總結(jié)

    python處理excel文件有很多方法,最開始接觸的是xlrd、xlsxwriter模塊,分別用于excel文件的讀、寫,后來又學(xué)習(xí)了openpyxl模塊,可以同時(shí)完成excel文件的讀、寫,下面這篇文章主要給大家介紹了關(guān)于利用Python解決Excel問題的最佳方案,需要的朋友可以參考下
    2023-04-04
  • Jupyter notebook之如何快速打開ipynb文件

    Jupyter notebook之如何快速打開ipynb文件

    這篇文章主要介紹了Jupyter notebook之如何快速打開ipynb文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼詳解

    Python實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼詳解

    驗(yàn)證碼作為一種自然人的機(jī)器人的判別工具,被廣泛的用于各種防止程序做自動(dòng)化的場景中。傳統(tǒng)的字符型驗(yàn)證安全性已經(jīng)名存實(shí)亡的情況下,各種新型的驗(yàn)證碼如雨后春筍般涌現(xiàn),今天給大家分享一篇Python實(shí)現(xiàn)滑塊驗(yàn)證碼
    2022-05-05
  • windows下python使用ffmpeg實(shí)現(xiàn)rtsp推流

    windows下python使用ffmpeg實(shí)現(xiàn)rtsp推流

    這篇文章主要為大家詳細(xì)介紹了在windows環(huán)境下python如何使用ffmpeg實(shí)現(xiàn)rtsp推流,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解一下
    2023-09-09
  • python之隨機(jī)數(shù)函數(shù)的實(shí)現(xiàn)示例

    python之隨機(jī)數(shù)函數(shù)的實(shí)現(xiàn)示例

    這篇文章主要介紹了python之隨機(jī)數(shù)函數(shù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

汤阴县| 广西| 柘荣县| 汉源县| 洛隆县| 北安市| 巴林右旗| 凌云县| 乌审旗| 清河县| 东兴市| 蒲江县| 武隆县| 泸州市| 西昌市| 江达县| 邓州市| 廉江市| 长乐市| 浦县| 嘉峪关市| 崇州市| 五大连池市| 固阳县| 宁阳县| 龙门县| 景东| 平陆县| 东海县| 西畴县| 阳谷县| 宁陵县| 鹤山市| 云浮市| 山阴县| 松江区| 右玉县| 南皮县| 东台市| 庄浪县| 祁阳县|