pygame中font模組方法詳解

2021-10-06 11:16:22 字數 4390 閱讀 4750

目錄

系統方法

pygame.font.init()

pygame.font.quit()

pygame.font.get_init()

pygame.font.get_default_font()

pygame.font.get_fonts()

pygame.font.match_font()

pygame.font.sysfont()

pygame.font.font

pygame.font.font.render()

pygame.font.font.size()

pygame.font.font.set_underline()

pygame.font.font.get_underline()

pygame.font.font.set_bold()

pygame.font.font.get_bold()

pygame.font.font.set_italic()

pygame.font.font.metrics()

pygame.font.font.get_italic()

pygame.font.font.get_linesize()

pygame.font.font.get_height()

pygame.font.font.get_ascent()

pygame.font.font.get_descent()

功能:初始化字型模組

屬性:init() -> none

此方法由pygame.init()自動呼叫,初始化字型模組。在任何其他函式工作之前,必須初始化模組。

多次呼叫此函式是安全的。

功能:取消字型模組的初始化

屬性:quit() -> none

手動取消初始化 sdl_ttf 的字型系統,由pygame.quit()自動呼叫。

即使字型當前未初始化,也可以安全地呼叫此函式。

功能:測試字型模組是否已初始化【如果字型模組已初始化,則為true】

屬性:get_init() -> bool

功能:獲取預設字型的檔名

屬性:get_default_font() -> string

返回系統字型的檔名,但不是檔案的完整路徑。此檔案通常與字型模組位於同一目錄中,但也可以**在單獨的存檔中。

功能:獲取所有可用字型

屬性:get_fonts() -> list of strings

返回系統上所有可用字型的列表。字型名稱將設定為小寫,並刪除所有空格和標點符號。這在大多數系統上都有效,但如果找不到字型,有些系統會返回空列表。

功能:在系統上查詢特定字型

屬性:match_font(name, bold=false, italic=false) -> path

返回系統上字型檔案的完整路徑。如果粗體(bold)或斜體(italic)設定為true,則將嘗試查詢正確的字型系列。

字型名實際上可以是乙個逗號分隔的字型名列表。如果沒有找到給定的名稱,則不返回任何名稱。

功能:從系統字型建立字型物件

屬性:sysfont(name, size, bold=false, italic=false) -> font

返回從系統字型載入的新字型物件。字型將與請求的粗體和斜體標誌匹配。如果找不到合適的系統字型,這將取決於載入預設的pygame字型。字型名可以是要查詢的以逗號分隔的字型名列表。

功能:從檔案建立新字型物件

屬性:從給定的檔名或python檔案物件載入新字型。大小是字型的高度(以畫素為單位)。如果檔名為none,則將載入pygame預設字型。如果無法從引數載入字型,將引發異常。一旦字型被建立,大小就不能改變。

字型物件主要用於將文字呈現為新的su***ce物件。渲染可以模擬粗體或斜體功能,但最好從具有實際斜體或粗體標誌符號的字型載入。呈現的文字可以是常規字串或unicode。

功能:在新su***ce上繪製文字

屬性:render(text, antialias, color, background=none) -> su***ce

建立乙個新su***ce,並在其上呈現指定的文字。pygame不提供直接在現有su***ce上繪製文字的方法:若要建立文字的影象(su***ce)必須使用font.render(),然後將此影象blit到另乙個su***ce上。

文字只能是單獨一行:換行符不能呈現。空字元('x00') 會引發typeerror。unicode和字元(byte)字串都可以。對於unicode字串,只能識別ucs-2字元('u0001' to 'uffff')。任何更大的值都會引發unicodeerror。對於字元字串,假定採用latin1編碼。抗鋸齒引數(antialias)是布林值:如果為真,字元將具有平滑的邊。顏色引數是文字的顏色[例如:(0,0255)表示藍色]。可選的背景引數是用於文字背景的顏色。如果沒有傳遞背景,文字外部的區域將是透明的。

返回的su***ce應儲存文字所需尺寸。(與font.size()一致)。如果為文字傳遞空字串,則將返回零畫素寬和高的空白su***ce。

根據背景和抗鋸齒使用的型別,返回不同型別的曲面。出於效能原因,最好知道將使用哪種型別的影象。如果不使用抗鋸齒,則返回影象將始終是帶有雙調色盤的8-bit影象。如果背景是透明的,則設定colorkey。抗鋸齒影象被渲染為24-bitrgb影象。如果背景是透明的,將包括畫素alpha。

優化:如果已知文字的最終目標(在螢幕上)將始終有乙個實心的背景,並且文字是抗鋸齒的,則可以通過指定背景顏色來提高效能。這將導致生成的影象通過colorkey值而不是alpha值來維護透明度資訊。

如果呈現'\n',將呈現未知字元,通常是乙個長方形。需要自己處理。

字型呈現不是執行緒安全的:任何時候只有乙個執行緒可以呈現文字。

功能:確定呈現文字所需的空間量

屬性:size(text) -> (width, height)

返回呈現文字所需的維度。這可用於幫助確定文字在呈現之前所需的位置。它還可以用於換行和其他布局效果。

請注意,大多數字型使用字距調整來調整特定字母對的寬度。例如,「ae」的寬度並不總是與「a」「e」的寬度匹配。

功能:控制文字是否用下劃線呈現

屬性:set_underline(bool) -> none

啟用後,所有呈現的字型都將包含下劃線。無論字型大小,下劃線總是乙個畫素厚。可以與粗體和斜體模式混合使用。

功能:檢查文字是否將用下劃線呈現【啟用字型下劃線時返回true】

屬性:get_underline() -> bool

功能:啟用文字的粗體呈現

屬性:set_bold(bool) -> none

是對字型的假拉伸。在許多字型型別上看起來不太好。如果可能,從真正的粗體字型檔案載入字型。粗體字型的寬度將與正常字型的寬度不同。可以與斜體和下劃線模式混合使用。

功能:檢查文字是否顯示為粗體【啟用字型粗體呈現模式時返回true】

屬性:get_bold() -> bool

功能:啟用文字的斜體呈現

set_italic(bool) -> none

是乙個偽造的字型傾斜。在許多字型型別上看起來不太好。如果可能的話,從乙個真正的斜體字庫案載入字型。斜體字體的寬度將不同於普通字型。可以與粗體和下劃線模式混合使用。

功能:獲取傳遞字串中每個字元的度量

屬性:metrics(text) -> list

該列表包含每個字元的元組,其中包含字元的最小x偏移量、最大x偏移量、最小y偏移量、最大y偏移量和前進偏移量(方向角加寬度)。[(minx, maxx, miny, maxy, advance), (minx, maxx, miny, maxy, advance), ...]。列表中為每個無法識別的字元輸入none。

功能:檢查文字是否將呈現為斜體

屬性:get_italic() -> bool

啟用字型斜體呈現模式時返回true。

功能:獲取字型文字的行間距

屬性:get_linesize() -> int

返回帶有字型的文字行的高度(以畫素為單位)。當呈現多行文字時,這是行間距的建議值(recommended amount)。

功能:獲取字型的高度

屬性:get_height() -> int

返回實際文字的高度(以畫素為單位)。這是字型中每個字形的平均大小。

功能:獲取字型的上公升高度

屬性:get_ascent() -> int

返回字型上公升的高度(以畫素為單位)。上公升高度是從字型基線到字型頂部的畫素數。

功能:獲取字型的下降高度

屬性:get_descent() -> int

返回字型下降的高度(以畫素為單位)。下降高度是從字型基線到字型底部的畫素數。

整理自:

pygame系列 font遊戲字型

在pygame遊戲開發中,乙個友好的ui中,漂亮的字型是少不了的 今天就給大夥帶來有關pygame中字型的一些介紹說明 首先我們得判斷一下我們的pygame中有沒有font這個模組 1 if not pygame.font print warning,fonts disabled 如果有的話才可以進...

pygame中event模組方法詳解

目錄 pygame.event.pump pygame.event.get pygame.event.poll pygame.event.wait pygame.event.peek pygame.event.clear pygame.event.event name pygame.event.se...

pygame模組練習

background image filename 素材 fly img name 素材 fugu.png from abc import abcmeta,abstractmethod import pygame 匯入pygame庫 from pygame.locals import 匯入一些常用的...