函数
- pygame.freetype.get_error
- 返回最新的FreeType错误
- get_error() -> str
- get_error() -> None
- pygame.freetype.get_version
- 返回FreeType版本
- get_version(linked=True) -> (int, int, int)
- pygame.freetype.init
- 初始化FreeType库
- init(cache_size=64, resolution=72) -> None
- pygame.freetype.quit
- 反初始化FreeType库
- quit() -> None
- pygame.freetype.get_init
- True,如果FreeType库已经初始化
- get_init() -> bool
- pygame.freetype.was_init
- pygame.freetype.get_cache_size
- 返回字形大小写大小
- get_cache_size() -> long
- pygame.freetype.get_default_resolution
- 返回默认像素大小(以每英寸点数为单位)
- get_default_resolution() -> long
- pygame.freetype.set_default_resolution
- 设置模块的默认像素大小(以每英寸点数为单位)
- set_default_resolution([resolution])
- pygame.freetype.get_default_font
- 获取默认字体的文件名
- get_default_font() -> string
- pygame.freetype.SysFont
- 从系统字体创建字体对象
- SysFont(name, size, bold=False, italic=False) -> Font
- pygame.freetype.Font
- 从支持的字体文件创建新的字体实例。
- Font(file, size=0, font_index=0, resolution=0, ucs4=False) -> Font
- Font(pathlib.Path) -> Font
- Font和SysFont类函数:
- pygame.freetype.Font.name
- pygame.freetype.Font.path
- pygame.freetype.Font.size
- 渲染中使用的默认点大小
- size -> float
- size -> (float, float)
- pygame.freetype.Font.get_rect
- 返回呈现文本的大小和偏移量
- get_rect(text, style=STYLE_DEFAULT, rotation=0, size=0) -> rect
- pygame.freetype.Font.get_metrics
- 返回给定文本的字形指标
- get_metrics(text, size=0) -> [(…), …]
- (min_x, max_x, min_y, max_y, horizontal_advance_x, horizontal_advance_y)
- pygame.freetype.Font.height
- 字体的未缩放高度(以字体单位表示)
- height -> int
- pygame.freetype.Font.ascender
- 字体以字体单位的未缩放上升
- ascender -> int
- pygame.freetype.Font.descender
- 字体的未缩放下降(以字体单位表示)
- descender -> int
- pygame.freetype.Font.descender
- 字体的缩放上升(以像素为单位)
- get_sized_ascender(=0) -> int
- pygame.freetype.Font.get_sized_descender
- 字体的缩放下降(以像素为单位)
- get_sized_descender(=0) -> int
- pygame.freetype.Font.get_sized_height
- 字体的缩放高度(以像素为单位)
- get_sized_height(=0) -> int
- pygame.freetype.Font.get_sized_glyph_height
- 字体的缩放边界框高度(以像素为单位)
- get_sized_glyph_height(=0) -> int
- pygame.freetype.Font.get_sizes
- 返回嵌入位图的可用大小
- get_sizes() -> [(int, int, int, float, float), …]
- get_sizes() -> []
- pygame.freetype.Font.render
- 将渲染文本作为表面返回
- render(text, fgcolor=None, bgcolor=None, style=STYLE_DEFAULT, rotation=0, size=0) -> (Surface, Rect)
- pygame.freetype.Font.render_to
- 将文本渲染到现有图面上
- render_to(surf, dest, text, fgcolor=None, bgcolor=None, style=STYLE_DEFAULT, rotation=0, size=0) -> Rect
- pygame.freetype.Font.render_raw
- 以字节字符串形式返回呈现的文本
- render_raw(text, style=STYLE_DEFAULT, rotation=0, size=0, invert=False) -> (bytes, (int, int))
- pygame.freetype.Font.render_raw_to
- 将文本呈现为整数数组
- render_raw_to(array, text, dest=None, style=STYLE_DEFAULT, rotation=0, size=0, invert=False) -> Rect
- pygame.freetype.Font.style
- 字体的样式标志
- style -> int
- STYLE_NORMAL
- STYLE_UNDERLINE
- STYLE_OBLIQUE
- STYLE_STRONG
- STYLE_WIDE
- STYLE_DEFAULT
- pygame.freetype.Font.underline
- 字体的下划线样式标志的状态
- underline -> bool
- pygame.freetype.Font.strong
- 字体的强样式标志的状态
- strong -> bool
- pygame.freetype.Font.oblique
- 字体的倾斜样式标志的状态
- oblique -> bool
- pygame.freetype.Font.wide
- pygame.freetype.Font.strength
- 与强字体样式或宽字体样式相关的强度
- strength -> float
- pygame.freetype.Font.underline_adjustment
- 下划线位置的调整系数
- underline_adjustment -> float
- pygame.freetype.Font.fixed_width
- 获取字体是否为固定宽度
- fixed_width -> bool
- pygame.freetype.Font.fixed_sizes
- 字体的可用位图大小数
- fixed_sizes -> int
- pygame.freetype.Font.scalable
- 获取字体是否可缩放
- scalable -> bool
- pygame.freetype.Font.use_bitmap_strikes
- 允许在大纲字体文件中使用嵌入的位图
- use_bitmap_strikes -> bool
- pygame.freetype.Font.antialiased
- 字体抗锯齿模式
- antialiased -> bool
- pygame.freetype.Font.kerning
- pygame.freetype.Font.vertical
- pygame.freetype.Font.rotation
- pygame.freetype.Font.fgcolor
- pygame.freetype.Font.bgcolor
- pygame.freetype.Font.origin
- 字体呈现为文本源模式
- bgcolor -> Color
- pygame.freetype.Font.pad
- pygame.freetype.Font.ucs4
- pygame.freetype.Font.resolution
- 像素分辨率(以每英寸点数为单位)
- resolution -> int
示例
import sys
import pygame
import pygame.freetype
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((800, 600), flags=0)
print('init:', pygame.freetype.get_init())
print('version:', pygame.freetype.get_version())
print('fonts:', pygame.freetype.get_fonts())
print('default_font', pygame.freetype.get_default_font())
path = pygame.freetype.match_font('humanst521roman')
print(path)
sysFont = pygame.freetype.SysFont(None, size=10)
text_SysFont, rect = sysFont.render('FreeType Text Test', (255, 0, 0), (0, 0, 255),
style=pygame.freetype.STYLE_NORMAL,
rotation=45,
size=50)
print(text_SysFont)
screen.blit(text_SysFont, (100, 50))
font = pygame.freetype.Font('C:/Windows/Fonts/Humanst521 BT Roman.ttf', size=10)
text_font, rect = font.render('Font text', (0, 255, 0), (0, 0, 255),
style=pygame.freetype.STYLE_NORMAL,
rotation=10,
size=25)
screen.blit(text_font, (100, 450))
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.flip()
