我有一些代码:

# draw text
font = pygame.font.Font(None, 25)
text = font.render("You win!", True, BLACK)
screen.blit(text, [SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2])

如何获得文本的宽度和高度,以便将文本居中,如下所示:

screen.blit(text, [SCREEN_WIDTH / 2 - text_w / 2, SCREEN_HEIGHT / 2 - text_h / 2])

如果这是不可能的,还有什么办法?

推荐答案

可以使用text.get_rect()获得渲染文本图像的尺寸,它返回一个Rect对象,其中包含widthheight个属性(完整列表请参见链接文档).也就是说,你可以简单地做text.get_rect().width.

Python-3.x相关问答推荐

Python多处理池:缺少一个进程

使用 Python 截断并重新编号对应于特定 ID/组的列

如何使用 Selenium 和 Python 作为线程来使用事件(Chrome-Developer-Tools)?

切片的Python复杂性与元组的星号相结合

在 pytest 中,如何测试 sys.exit('some error message')?

为什么 return node.next 会返回整个链表?

python2和python3中的列表生成器

Pandas 按值和索引对 DF 进行排序

列出相同索引的Pandas

正则表达式来识别用 Python 写成单词的数字?

如何使用 regex sub 根据列表中的变量替换字符

python 3:如何判断一个对象是否是一个函数?

Python - 使用 OpenCV 将字节图像转换为 NumPy 数组

Python3 mysqlclient-1.3.6(又名 PyMySQL)的用法?

使用 Sublime Text 3 在 Python 3 中打印 UTF-8

定义 True,如果没有定义,会导致语法错误

如何遍历某些扩展名的文件?

为现有项目创建virtualenv

TypeError: write() 参数必须是 str,而不是字节(Python 3 vs Python 2)

为什么变量 = 对象不像变量 = 数字那样工作