pygame之font模块

                      font-用于加载和渲染字体的Pygame模块

pygame.font.init—初始化字体模块

pygame.font.quit—取消初始化字体模块

pygame.font.get_init—如果字体模块已初始化,则为true

pygame.font.get_default_font—获取默认字体的文件名

pygame.font.get_fonts—获取所有可用的字体

pygame.font.match_font—在系统上找到特定的字体

pygame.font.SysFont—从系统字体创建一个Font对象

pygame.font.Font—从文件创建一个新的Font对象

字体模块允许将TrueType字体呈现为新的Surface对象。它接受任何UCS-2字符('u0001'到'uFFFF')。此模块是可选的,需要SDL_ttf作为依赖项。 在尝试使用模块之前,您应该测试pygame.font用于加载和渲染字体的pygame模块是否可用并初始化。使用字体完成的大部分工作都是使用实际的Font对象完成的。模块本身只有初始化模块和创建Font对象的例pygame.font.Font()。您可以使用该pygame.font.SysFont() 功能从系统加载字体。还有一些其他功能可以帮助查找系统字体。Pygame附带内置默认字体。可以通过传递None作为字体名称来访问它。

pygame.font.init() 初始化字体模块

init() - >无

此方法由pygame.init()自动调用。它初始化字体模块。在任何其他功能起作用之前,必须初始化模块。多次调用此函数是安全的。

pygame.font.quit() 取消初始化字体模块

quit() - >无

手动取消初始化SDL_ttf的字体系统。这是由自动调用的 pygame.quit()。即使当前未初始化字体,也可以安全地调用此函数。

pygame.font.get_init() 如果字体模块已初始化,则为true

get_init() - > bool

测试字体模块是否已初始化。

pygame.font.get_default_font() 获取默认字体的文件名

get_default_font() - > string

返回系统字体的文件名。这不是文件的完整路径。此文件通常可以在与字体模块相同的目录中找到,但也可以捆绑在单独的存档中。

pygame.font.get_fonts() 获取所有可用的字体

get_fonts()- >字符串列表

返回系统上可用的所有字体的列表。字体的名称将设置为小写,并删除所有空格和标点符号。这适用于大多数系统,但有些系统会在找不到字体时返回空列表。

pygame.font.match_font() 在系统上找到特定的字体

match_font(name,bold = False,italic = False)- > path

返回系统上字体文件的完整路径。如果将粗体或斜体设置为true,则会尝试查找正确的字体系列。字体名称实际上可以是逗号分隔的字体名称列表。如果找不到任何给定名称,则返回None。例:

print pygame.font.match_font('bitstreamverasans')

# output is: /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf

# (but only if you have Vera on your system)

pygame.font.SysFont() 从系统字体创建一个Font对象

SysFont(name, size, bold=False, italic=False) -> Font

返回从系统字体加载的新Font对象。该字体将匹配请求的粗体和斜体标志。如果找不到合适的系统字体,则会在加载默认的pygame字体时返回。字体名称可以是逗号分隔的要查找的字体名称列表。

pygame.font.Font 从文件创建一个新的Font对象

Font(filename, size) -> Font

Font(object, size) -> Font

pygame.font.Font.render—在新Surface上绘制文本

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—得到字体的下降

从给定文件名或python文件对象加载新字体。大小是字体的高度(以像素为单位)。如果文件名为None,则将加载pygame默认字体。如果无法从参数中加载字体,则会引发异常。创建字体后,无法更改大小。字体对象主要用于将文本渲染到新的Surface对象中。渲染可以模拟粗体或斜体特征,但最好从具有实际斜体或粗体字形的字体加载。渲染文本可以是常规字符串或unicode。

render() 在新Surface上绘制文本

render(text, antialias, color, background=None) -> Surface

这将创建一个新的Surface,并在其上呈现指定的文本。pygame无法直接在现有Surface上绘制文本:您必须使用它Font.render()来创建文本的图像(Surface),然后将此图像blit到另一个Surface上。文本只能是一行:不呈现换行符。空字符('x00')引发TypeError。Unicode和char(字节)字符串都被接受。对于Unicode字符串,只能识别UCS-2字符('u0001'到'uFFFF')。任何更大的东西都会引发UnicodeError。对于char字符串,LATIN1假定编码。antialias参数是一个布尔值:如果为true,则字符将具有平滑边。颜色参数是文本的颜色[例如:蓝色的(0,0,255)]。可选的背景参数是用于文本背景的颜色。如果没有传递背景,则文本外部的区域将是透明的。返回的Surface将具有保存文本所需的尺寸。(与Font.size()返回的相同)。如果为文本传递空字符串,则将返回一个像素宽的空白表面和字体的高度。根据所使用的背景和抗锯齿类型,返回不同类型的Surface。出于性能原因,最好知道将使用何种类型的图像。如果未使用抗锯齿,则返回图像将始终为具有双色调色板的8位图像。如果背景是透明的,则将设置颜色键。抗锯齿图像渲染为24位RGB图像。如果背景是透明的,则将包括像素alpha。

优化:如果您知道文本的最终目的地(在屏幕上)将始终具有纯色背景,并且文本是抗锯齿的,则可以通过指定背景颜色来提高性能。这将导致生成的图像通过colorkey维护透明度信息,而不是(效率低得多)alpha值。如果渲染'\ n',将呈现未知的字符。通常是一个矩形。相反,你需要自己处理新的线条。字体呈现不是线程安全的:只有一个线程可以随时呈现文本。

size() 确定渲染文本所需的空间量

size(text) -> (width, height)

返回呈现文本所需的尺寸。这可用于帮助确定文本在呈现之前所需的定位。它还可以用于文字包装和其他布局效果。请注意,大多数字体都使用字距调整来调整特定字母对的宽度。例如,“ae”的宽度并不总是与“a”+“e”的宽度相匹配。

set_underline() 控制文本是否使用下划线呈现

set_underline(bool) - >无

启用后,所有渲染字体都将包含下划线。无论字体大小如何,下划线始终为一个像素厚。这可以与粗体和斜体模式混合使用。

get_underline() 检查文本是否将使用下划线呈现

get_underline() - > bool

启用字体下划线时返回True。

set_bold() 启用粗体文本的伪渲染

set_bold(bool) - >无

启用粗体呈现文本。这是对许多字体类型看起来不太好的字体的假拉伸。如果可能,从真正的粗体字体文件加载字体。粗体时,字体的宽度与正常情况不同。这可以与斜体和下划线模式混合使用。

get_bold() 检查文本是否将呈现为粗体

get_bold() - > bool

启用字体粗体渲染模式时返回True。

set_italic() 启用斜体文本的虚假渲染

set_italic(bool) - >无

启用斜体文本的虚假渲染。这是对许多字体类型看起来不太好的字体的假歪斜。如果可能,从真正的斜体字体文件加载字体。斜体字体的宽度与正常情况下的宽度不同。这可以与粗体和下划线模式混合使用。

metrics() 获取传递的字符串中每个字符的指标

metrics(text) - > list

该列表包含每个字符的元组,其中包含字符的最小 X偏移量,最大X偏移量,最小Y偏移量,最大Y偏移量和前进偏移量(方位加宽度)。[(minx,maxx,miny,maxy,advance),(minx,maxx,miny,maxy,advance),...]。列表中没有输入每个无法识别的字符。

get_italic() 检查文本是否将呈斜体

get_italic()- > bool

启用字体斜体渲染模式时返回True。

get_linesize() 获取字体文本的行间距

get_linesize() - > int

返回带有字体的文本行的高度(以像素为单位)。渲染多行文本时,这是行之间建议的空间量。

get_height() 获取字体的高度

get_height() - > int

返回实际渲染文本的高度(以像素为单位)。这是字体中每个字形的平均大小。

get_ascent() 得到字体的上升

get_ascent() - > int

返回字体上升的高度(以像素为单位)。上升是从字体基线到字体顶部的像素数。

get_descent() 得到字体的下降

get_descent() - > int

返回字体下降的高度(以像素为单位)。下降是从字体基线到字体底部的像素数。

 

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Louistinda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值