深圳工程造价建设信息网站,如何制作淘宝详情页图片,wordpress文件详解,为何建设银行网站无法登陆文章目录 字体初始化获取字体字体对象内置方法 字体初始化
在pygame程序中#xff0c;第一步势必进行初始化#xff0c;即调用pygame.init()函数#xff0c;而此初始化过程#xff0c;则顺便包含了字体初始化#xff0c;即默不作声地调用了pygame.font.init()函数。下面通… 文章目录 字体初始化获取字体字体对象内置方法 字体初始化
在pygame程序中第一步势必进行初始化即调用pygame.init()函数而此初始化过程则顺便包含了字体初始化即默不作声地调用了pygame.font.init()函数。下面通过pygame.font中的get_init()函数进行查询结果如下
import pygame
from pygame import fontfont.get_init() # False
pygame.init()
font.get_init() # True
font.quit()
font.get_init() # False其中quit用于取消字体的初始化。
获取字体
pygame可以很方便地判断当前字体并且能够获取系统字体示例如下
font.get_default_font() # freesansbold.ttf
lst font.get_fonts()
print(lst[:5])
# [arial, arialblack, bahnschrift, calibri, cambria]
font.match_font(arial)
#C:\\WINDOWS\\Fonts\\ARIALN.TTF其中
get_default_font() 获取默认字体get_fonts() 获取系统所有的字体列表font.match_font(‘arial’) 获取系统中名为arial的字体的路径
字体对象
pygame中封装了字体类在实例化过程中一般需要两个参数分别是字体路径以及文字尺寸。在初始化字体后可通过render来渲染具体的文字。
path C:\\WINDOWS\\Fonts\\ARIALN.TTF
font.init()
f font.Font(path, 50)
msg f.render(FONT, True, (255, 255,255))其中render函数的参数如下
text 将要展示的文字antialias 是否开启抗锯齿color 颜色(255,255,255)表示纯白
在设置好字体后接下来便可在主循环中展示
pygame.init()
screen pygame.display.set_mode((400, 200))
while True:if pygame.QUIT in [e.type for e in pygame.event.get()]:pygame.quit()breakscreen.fill((0,0,0))screen.blit(msg, (150, 60))pygame.display.flip()效果如下 内置方法
上面的FONT其实并不协调主要是尺寸与窗口并不匹配从而无法做到居中为此可通过size函数获取文字所占据的像素尺寸。
# 由于上面的代码段执行了pygame.quit()所以需要重新初始化
pygame.init()
f font.Font(path, 50)
f.size(FONT) # (112, 58)
screen pygame.display.set_mode((200, 100))
while True:if pygame.QUIT in [e.type for e in pygame.event.get()]:pygame.quit()breakscreen.fill((0,0,0))screen.blit(msg, (44, 21))pygame.display.flip()效果如下 如果想获得每个文字的尺寸则可使用metrics(text)方法其返回值是一个列表每个元素都代表text中的一个文字尺寸格式为(minx, maxx, miny, maxy, advance),前四项比较好理解advance表示前进偏移量。
另有一些获取文字尺寸的函数如下
get_linesize() 获取字体文本的行间距get_height() 获取字体的高度get_ascent() 获取字体的上升高度即从字体基线到字体顶部的像素数。get_descent() 获取字体的下降高度即从字体基线到字体底部的像素数。
Font类中还内置了一些方法用于设置或获取字体格式这些方法一般由set和get成对出现
功能说明setget下划线set_underline(b)get_underline()粗体set_bold(b)get_bold()斜体set_italic()get_italic()