iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python之Pygame的Font文本和字体怎么使用
  • 888
分享到

Python之Pygame的Font文本和字体怎么使用

2023-07-05 20:07:52 888人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python之Pygame的Font文本和字体怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Pygame的Font文

本篇内容介绍了“python之Pygame的Font文本和字体怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Pygame的Font文本和字体

Pygame 通过pygame.font模块来创建一个字体对象,从而实现绘制文本的目的。
该模块的常用方法如下所示:

名称说明
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() 从系统的字体库中创建一个 Font 对象
pygame.font.Font()从一个字体文件创建一个 Font 对象

Font 模块提供了两种创建字体(Font)对象的方法,分别是:

  • SysFont (从系统中加载字体文件创建字体对象)

  • Font (通过文件路径创建字体对象)

font.SysFont()

直接从系统中加载字体使用如下方法:

pygame.font.SysFont(name, size, bold=False, italic=False)

参数说明如下:

  • name : 列表参数值,表示要从系统中加载的字体名称,它会按照列表中的元素顺序依次搜索,如果系统中没有列表中的字体,将使用 Pygame 默认的字体。

  • size : 表示字体的大小;

  • bold : 字体是否加粗;

  • italic : 字体是否为斜体。

使用示例如下:

print("获取系统中所有可用字体",pygame.font.get_fonts())my_font = pygame.font.SysFont(['方正粗黑宋简体','microsoftsansserif'],50)

上述方法将优先使用“方正粗黑宋简体”。

font.Font()

当我们想要在游戏中引入比较炫酷的字体,而系统中又不存在时,我们可以使用另外一种方法,从外部加载字体文件来绘制文本。其语法格式如下:

my_font = pygame.font.Font(filename, size)

参数说明如下:

  • filename : 字符串格式,表示字体文件的所在路径;

  • size : 设置字体的大小。

使用示例如下:

f = pygame.font.Font('C:/Users/Administrator/Desktop/willhar_.ttf',50)

从桌面加载了一个字体文件来创建字体对象,并设置字体大小为 50。注意,上述字体文件是在网上下载的,您也可以任意下载点击网址前往),或者使用系统库中的字体文件。

字体对象方法

Pygame 为处理字体对象提供了一些常用方法,如下所示:

名称说明
pygame.font.Font.render() 该函数创建一个渲染了文本的 Surface 对象
pygame.font.Font.size() 该函数返回渲染文本所需的尺寸大小,返回值是一个一元组 (width,height)
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() 获取字体底端到基准线的距离

使用上述方法,我们可以非常方便地对字体进行渲染,或者获取字体的相关信息,比如字体的高度、是否是粗体、斜体等信息。

上述方法中使用最多要数第一个方法,它是绘制文本内容的关键方法,其语法格式如下:

render(text, antialias, color, background=None)

参数说明如下:

  • text : 要绘制的文本内容

  • antialias : 布尔值参数,是否是平滑字体(抗锯齿)。

  • color : 设置字体颜色;

  • background : 可选参数,默认为 None,该参数用来设置字体的背景颜色。

下面看一组简单的示例:

import sysimport pygame# 初始化pygame.init()screen = pygame.display.set_mode((600, 400))# 填充主窗口的背景颜色screen.fill((20, 90, 50))# 设置窗口标题pygame.display.set_caption('Python自学网')# 字体文件路径 C:/windows/Fonts/simhei.ttff = pygame.font.Font('C:/Windows/Fonts/simhei.ttf', 50)# render(text, antialias, color, background=None) -> Surfacetext = f.render("网址:python.net", True, (255, 0, 0), (255, 255, 255))# 获得显示对象的 rect区域大小textRect = text.get_rect()# 设置显示对象居中textRect.center = (300, 200)screen.blit(text, textRect)while True:    # 循环获取事件,监听事件    for event in pygame.event.get():        # 判断用户是否点了关闭按钮        if event.type == pygame.QUIT:            # 卸载所有pygame模块            pygame.quit()            # 终止程序            sys.exit()    pygame.display.flip()  # 更新屏幕内容

除了使用上述方法之外,Pygame 为了增强字体模块的功能,在新的版本中又加入了另外一个字体模块,它就是 Freetype 模块。该模块属于 Pygame 的高级模块, 它能够完全可以取代 Font 模块,并且在 Font 模块的基础上又添加了许多新功能,比如调整字符间距离,字体垂直模式以及逆时针旋转文本等(详情可阅读官方文档)。

如果想 Freetype 模块,必须使用以下方式导包:

import pygame.freetype

下面使用 Freetype 模块来绘制文本内容,代码如下:

import sys, pygameimport pygame.freetypepygame.init()# 设置位置变量pos = [180, 50]# 设置颜色变量GoLD = 255, 251, 0BLACK = 0, 0, 0screen = pygame.display.set_mode((600, 400))pygame.display.set_caption("Python自学网")f1 = pygame.freetype.Font("C:/Users/Administrator/Desktop/willhar_.ttf", 45)# 注意,这里使用render_to() 来绘制文本内容,与render 相比,该方法无返回值# 参数说明:# pos 绘制文本开始的位置,fGColor表示前景色,bgcolor表示背景色,rotation表示文本旋转的角度freeRect = f1.render_to(screen, pos, "I love python.net", fgcolor=GOLD, bgcolor=BLACK, rotation=35)while True:    for event in pygame.event.get():        if event.type == pygame.QUIT:            sys.exit()        pygame.display.update()

“Python之Pygame的Font文本和字体怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python之Pygame的Font文本和字体怎么使用

本文链接: https://www.lsjlt.com/news/355215.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python之Pygame的Font文本和字体怎么使用
    本篇内容介绍了“Python之Pygame的Font文本和字体怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Pygame的Font文...
    99+
    2023-07-05
  • Pyhhon之Pygame的Font文本和字体
    目录Pygame的Font文本和字体font.SysFont()font.Font()字体对象方法Pygame的Font文本和字体 Pygame 通过pygame.font模块来创建...
    99+
    2023-05-14
    Python Font文本和字体 Pygame的Font文本 PygameFont字体
  • css如何使用font-family 属性定义文本的字体系列
    这篇文章主要介绍css如何使用font-family 属性定义文本的字体系列,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 使用普片字琐屑列 假设你祈望文档使用一种 sans-s...
    99+
    2024-04-02
  • CSS 字体属性选择指南:font-family 和 font-size 的正确使用
    引言:在网页设计中,字体选择是一个重要的方面。一个合适的字体能够增强网页的可读性和美感。在 CSS 中,我们可以通过 font-family 和 font-size 属性来控制字体样式和大小。然而,正确地使用这两个属性是一个有挑战的任务。本...
    99+
    2023-10-21
    字体属性 (font) 字体家族 (font-family) 字号 (font-size)
  • 如何用CSS font-family为英文和中文字体分别设置不同的字体
    这篇文章主要讲解了“如何用CSS font-family为英文和中文字体分别设置不同的字体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用CSS fon...
    99+
    2024-04-02
  • Python之Pygame的Event事件模块怎么使用
    Pygame的Event事件模块事件(Event)是 Pygame 的重要模块之一,它是构建整个游戏程序的核心,比如常用的鼠标点击、键盘敲击、游戏窗口移动、调整窗口大小、触发特定的情节、退出游戏等,这些都可以看做是“事件”。 事件类型Pyg...
    99+
    2023-05-18
    Python Pygame event
  • Css字体属性和文本属性怎么用
    这篇文章主要为大家展示了“Css字体属性和文本属性怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Css字体属性和文本属性怎么用”这篇文章吧。字体属性:主要...
    99+
    2024-04-02
  • Python之Pygame的Draw绘图方法怎么使用
    今天小编给大家分享一下Python之Pygame的Draw绘图方法怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Py...
    99+
    2023-07-05
  • 怎么在css中使用font属性设置字体颜色
    今天就跟大家聊聊有关怎么在css中使用font属性设置字体颜色,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。css的font字体颜色设置方法:新建一个html文件,命名为test.h...
    99+
    2023-06-14
  • CSS中使用font-family属性常用中文字体的英文别名有哪些
    这篇文章将为大家详细讲解有关CSS中使用font-family属性常用中文字体的英文别名有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。CSS中使用font-family属性引用中文字体时,经常采用三...
    99+
    2023-06-08
  • HTML怎么使用粗体文本
    这篇“HTML怎么使用粗体文本”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HTML怎么使...
    99+
    2024-04-02
  • Python画图时怎么调用本地字体
    小编给大家分享一下Python画图时怎么调用本地字体,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!matplotlib中的字体文件被封装在font_manager...
    99+
    2023-06-22
  • PHP取得使用 TrueType 字体的文本的范围
    ...
    99+
    2024-04-02
  • 使用awk怎么输出文本中的字段和列
    这期内容当中小编将会给大家带来有关使用awk怎么输出文本中的字段和列,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。例 1:我创建了一个名为 tecmintinfo.txt 的文本文件。# vi tecmi...
    99+
    2023-06-12
  • PHP给出一个使用 FreeType 2 字体的文本框
    这篇文章将为大家详细讲解有关PHP给出一个使用 FreeType 2 字体的文本框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用 FreeType 2 字体绘制文本框 FreeType 2 是一款开源...
    99+
    2024-04-02
  • Python基础之字典怎么使用
    今天小编给大家分享一下Python基础之字典怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一. 什么是字典字典作为P...
    99+
    2023-07-02
  • 怎么在Dreamweaver中加粗输入的文本字体
    本篇文章给大家分享的是有关怎么在Dreamweaver中加粗输入的文本字体,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。打开我的软件文件新建一个新建一个HTML我们输入百度经验...
    99+
    2023-06-08
  • PHP给出一个使用 PostScript Type1 字体的文本方框
    这篇文章将为大家详细讲解有关PHP给出一个使用 PostScript Type1 字体的文本方框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用 PostScript Type1 字体创建文本方框 引言...
    99+
    2024-04-02
  • Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用
    目录一、csv.writer()方法的基本使用二、csv.DictWriter()方法的基本使用总结 一、csv.writer()方法的基本使用 示例代码1: import...
    99+
    2024-04-02
  • Python学习之字典的创建和使用
    目录字典的创建字典中键值的获取修改元素添加元素删除元素清空字典字典的创建 名称={”键名“:”键值“} 举例: person={"na...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作