【pygame杂记】字体

在pygame中列出系统所有字体名称并展示效果 pygame对中文的支持并不是十分友好,所以当程序中需要显示中文时,写个小程序看一下系统中的所有字体,哪些是支持中文的,哪些不支持,哪些支持的不完整... 阅读详情

这一节放在这里挺突兀的,但是因为今天开周会,晚回来了,而且吃晚饭还吃撑了所以就简单写一下吧。

举个栗子进行简述

我们知道在python中所有的东西都可以抽象成对象,在这里,我们创建了一个字体的对象:

# 创建字体对象
font = pygame.font.SysFont('SimHei',50) 

再调用这个字体对象font的方法render,并且传递一些参数以创建一个文字对象(本质上是个图片)

# 创建字体对象
font = pygame.font.SysFont('SimHei',50) 
# 创建文字对象
text = font.render("太阁立志传",True,"pink",(255,255,0))  # 参数:文字内容,True,文字颜色,背景颜色
# 缩放和旋转
text_rotozoom = pygame.transform.rotozoom(text, 0, 2)  # 参数:目标,旋转角度,缩放比例
w,h = text_rotozoom.get_size()  # 获取文字大小
screen.blit(text_rotozoom,(0,0))  # 渲染到窗口并设置字体显示位置

这部分用了一个简单的方法创建字体,之后再进行补充吧。

预览图
在这里插入图片描述

所有代码

import pygame
import sys  ##导入sys模块 主要是为了 exit函数
from pygame.locals import * #导入一些常用的函数和常量

pygame.init()   #初始化 为使用硬件做准备

#首先我们要有个屏幕用来画画吧,这个screen就是了
screen = pygame.display.set_mode((1600,680),0,32)
pygame.display.set_caption("胸中自有百万兵,身后飘零万朵樱") #这是标题

#创建一个FPS的时钟对象
Clock = pygame.time.Clock()

#来个背景图片吧,不然就是黑的
BG  = pygame.image.load("../太阁立志传/image_Location/03稻妻/长筱之战.png")
screen.blit(BG,(0,0)) #紧接着在屏幕上绘制一下

# 创建字体对象
#=========================================================
font = pygame.font.SysFont('SimHei',50) 
# 创建文字对象
text = font.render("太阁立志传",True,"pink",(255,255,0))  # 参数:文字内容,True,文字颜色,背景颜色
# 缩放和旋转
text_rotozoom = pygame.transform.rotozoom(text, 0, 2)  # 参数:目标,旋转角度,缩放比例
w,h = text_rotozoom.get_size()  # 获取文字大小
screen.blit(text_rotozoom,(0,0))  # 渲染到窗口并设置字体显示位置
#=========================================================


pygame.display.update()     #调用这个update函数进行显示

while True:
    #FPS
    Clock.tick(60)

    #处理事件

    #刷新屏幕
    for event in pygame.event.get():
        if event.type == QUIT:
            #接收到退出事件
            pygame.quit()
            exit()

字体模块详细内容

可以用作参考: Pygame详解(五):font 模块

我主要是看官方文档并且结合自己的使用进行记录

pygame学习笔记——设置字体、显示中文 一、获得可用字体 import pygame print(pygame.font.get_fonts()) 结果: ['arial', 'arialblack', 'bahnschrift', 'calibri', 'cambriacambriamath', 'cambria', 'candara', 'comicsansms', 'consolas', 'constantia', 'corbel', 'couriernew', 'ebrima', 'franklingothicmedium'. 阅读详情

相关推荐

使用Pygame显示文字的示例代码

然后,使用screen.fill()方法将屏幕填充为黑色,以清空之前的内容。接下来,使用screen.blit()方法将文字表面绘制到屏幕的指定位置(这里是(200, 200))。接着,使用pygame.font.SysFont()函数创建了一个系统默认字体对象,并设置字号为48。"渲染成一个表面(Surface),并指定文字颜色为白色。你可以根据需要修改文字内容、字体、位置和窗口尺寸等参数,以实现不同的文字显示效果。首先,通过导入pygame和sys模块并初始化Pygame,创建一个窗口并设置窗口标题。

m0_62110645的博客 1711

Pygame 字体和文本

字体在游戏中也扮演着生要的角色。比如显示得分,角色之间的对话等等。Pygame中字体使用".ttf"文件,它代表 True Type File。

编程日志 1343

2025年有道翻译网页版JS逆向实战:从抓包到AES解密,手把手教你搞定sign签名

本文详细解析2025年有道翻译网页版的JS逆向实战,从抓包分析到AES解密全流程。通过实战演示签名生成机制和AES-CBC解密技术,帮助开发者破解有道翻译的反爬系统,实现高效数据获取。重点涵盖动态密钥处理、错误重试机制及反反爬策略,为开发者提供完整的技术解决方案。

weixin_30379531的博客 505

Python pygame-ce(GUI编程)模块最完整教程(2/8)

get_mods方法获得的结果类似于event.mods,但是KEYDOWN或KEYUP只会在刚按下和刚松开按键时触发,而get_mods方法获得的是持续按下不松开的按键内容。Surface是渲染的文本表面,Rect是文本的大小,位于文字的原点。矩形对象的大小是表面的大小,位置(x, y)是文本原点的位置(也就是(0, 字体上升高度))。当用户按下某个按键时,会先打印一次"KEYDOWN",然后等待1000ms,再以200ms的时间间隔触发事件,打印多次"KEYDOWN",如果不能理解可以运行代码试一下。

pythonzzy的博客 7944

QGIS|如何将WGS84转换为CGCS 2000坐标系?

QGIS 3中如何将WGS84转换为国家2000大地坐标系? 今天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。 01工程坐标系 从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程坐标系(Project CRS)。当前地图可以由多个图层组成,各种来源数据的坐标参照系(Layer CRS)并不一定相同,QGIS在绘制图层之前将根据工程坐标系进行动态坐标转换,然后显示在地图画布中。 因此,在处理空间数据的过程中,一定要特别注意...

QGISClass的博客 1万+

AD620仪表放大器模组实战:从调零到信号放大的完整指南

本文详细介绍了AD620仪表放大器模组的实战应用,从调零到信号放大的完整指南。AD620模组以其专业级性能和易用性成为微弱信号放大的首选,集成了AD620芯片、LM358运放和7660电源转换芯片。文章提供了调零技巧、增益设置方法以及单端与差分输入的正确连接方案,并通过心电信号采集和称重传感器等实际案例展示了其广泛应用。

weixin_29290379的博客 376

【pygame杂记】字体相关

字体

apythonlearner的博客 265

5款高性价比LDO芯片实测对比:从TPS7A4501到LM2940,哪款更适合你的项目?

本文通过实测对比了TPS7A4501、TPS72301、LM2937、LM2940等五款高性价比LDO芯片的核心性能。文章详细分析了跌落电压、输出噪声、静态电流及热性能等关键指标,并结合电池供电物联网节点、高精度数据采集等典型应用场景,提供了清晰的选型指南,帮助工程师根据项目需求选择最合适的LDO芯片。

weixin_29305337的博客 115

PyGame字体详解

在pygame程序中,第一步势必进行初始化,即调用pygame.init()函数,而此初始化过程,则顺便包含了字体初始化,即默不作声地调用了pygame.font.init()函数。如果想获得每个文字的尺寸,则可使用metrics(text)方法,其返回值是一个列表,每个元素都代表text中的一个文字尺寸,格式为(minx, maxx, miny, maxy, advance),前四项比较好理解,advance表示前进偏移量。pygame可以很方便地判断当前字体,并且能够获取系统字体,示例如下。

微小冷的学习笔记 1945

智能车图像处理5-入门级分析4 ---环岛的状态机与补线

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 8228

机器人学(三):手眼标定

主要讲了eye-to-hand的手眼标定求解算法,包括AX=XB和AX=YB两种情况,包含SVD法、Tsai-Lenz法、最小二乘法等,从原理到解法再到算法代码实现,包括matlab代码、C++代码、库的使用等,简单明了,容易在实际项目中进行应用

行者无疆的博客 2554

Pygame Font文本和字体——《Python游戏开发库Pygame》

通过学习和实践Pygame的文本和字体功能,你可以为你的游戏和应用程序添加丰富多样的文本内容,提升用户体验和视觉效果。不断尝试和探索新的功能和特效,将帮助你创建出更加出色和引人入胜的作品。👨‍💻博主Python老吕评论,您的举手之劳将对我提供了无限的写作动力!🤞🔥《Python全栈工程师》《跟老吕学MySQL》《Python游戏开发实战讲解》🌞《Python全栈工程师·附录资料》《Pillow库·附录资料》《Pygame·附录资料》《Tkinter·附录资料》《Django·附录资料》

Python老吕的博客 1527

Android 13.0 Launcher3中去掉Hotseat功能实现

在13.0系统产品定制化开发中,在Launcher3的定制化需求也是特别多的,由产品是小屏幕的产品,所以产品需求Launcher3 页面布局的原因,要求Launcher3 需要去掉Hotseat 不显示Hotseat下面几个图标,而做满屏app的显示,从而达到美观的效果,下面就来分析去掉Hotseat从而实现这个功能

安卓兼职framework和app工程师的博客 1327

python怎样在pygame中设置字体并显示中文

本文主要介绍了python怎样在pygame中设置字体并显示中文

huadong_xiaolin的博客 9273

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【pygame】font 模块

Pygame 中加载和表示字体的模块。函数—— 初始化字体模块—— 还原字体模块—— 检查字体模块是否被初始化—— 获得默认字体的文件名—— 获取所有可使用的字体—— 在系统中搜索一种特殊的字体—— 从系统字体库创建一个 Font 对象类—— 从一个字体文件创建一个 Font 对象字体模块可以在一个新的 Surface 对象上表示 TrueType 字体。它接受所有 UCS-2 字符(‘u0001’ 到 ‘uFFFF’)。此模块为可选择模块,并且依赖于 SDL_ttf。

apythonlearner的博客 2667

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

pygame文档学习之font

font模块是pygame中加载和渲染字体的地方。font模块允许把TrueType字体渲染成Surface对象。大多数使用字体的工作都是通过使用实际的字体对象来完成的。这个模块本身只有一些例程来支持用pygame.font.Font()创建一个新的字体对象。我们可以从系统加载字体,然后用 pygame.font.SysFont() 函数把它渲染为字体对象。pygame的默认字体是freesansbold.ttf,这总是能通过传递None作为字体名称来访问它。

2401_87006911的博客 2932

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python学习笔记34:进阶篇(二十三)pygame的使用之颜色与字体

Python进阶知识:pygame的使用之颜色与字体

weixin_48668564的博客 3924

Pygame详解(五):font 模块

pygame.font Pygame 中加载和表示字体的模块。 函数 pygame.font.init()  ——  初始化字体模块 pygame.font.quit()  ——  还原字体模块 pygame.font.get_init()  ——  检查字体模块是否被初始化 pygame.font.get_default_font()  ——  获得默认字体的文件名 pygame....

来自江南的你的博客 5万+

【Python】【进阶篇】十、Pygame的Font文本和字体

【Python】【进阶篇】十、Pygame的Font文本和字体

deepboat的博客 7393

【Python/Pygame】绘制文字

【代码】【Python/Pygame】绘制文字。

Ub4959d11430的博客 276

pygame之font模块

                      font-用于加载和渲染字体的Pygame模块 pygame.font.init—初始化字体模块 pygame.font.quit—取消初始化字体模块 pygame.font.get_init—如果字体模块已初始化,则为true pygame.font.get_default_font—获取默认字体的文件名 pygame.font.get_fo...

河间老王的博客 5618

Python(Pygame)字体设置

使用字体模块 使用系统自带的字体:my_font = pygame.font.SysFont("arial", 16) 第一个参数是字体名,第二个自然就是大小,一般来说“Arial”字体在很多系统都是存在的,如果找不到的话,就会使用一个默认的字体,这个默认的字体和每个操作系统相关,你也可以使用pygame.font.get_fonts()来获得当前系统所有可用字体。还有一个更好的方法的

知行流浪 4万+

Pygame Font文本和字体(含示例)

Pygame Font文本和字体(含示例) 文本是任何一款游戏中不可或缺的重要要素之一,Pygame 通过pygame.font模块来创建一个字体对象,从而实现绘制文本的目的。该模块的常用方法如下所示: 方法 说明 pygame.font.init() 初始化字体模块 pygame.font.quit() 取消初始化字体模块 pygame.font.get_init() 检查字体模块是否被初始化,返回一个布尔值。 pygame.font.get_default_font() 获得默认字体的文件名。返回

ccc369639963的博客 7658

pygame设置中文字体

【代码】pygame设置中文字体。

2301_78420308的博客 924

Python通过Pygame模块添加文本

前提:下载并引入了pygame模块 font1 = pygame.font.SysFont('arial',16) text = font1.render("aaa", True, (255, 255, 255)) screen.blit(text, (50, 0)) font.SysFonet()为设置字体样式和字体大小,传入一个字体参数(可以为字体文件的路径,或者系统自带的字体,通过pygame.font.get_fonts()可以得到系统自带字体的列表) text =

weixin_59329782的博客 2496
上一篇: 【STM32】在手册中查看IO的功能说明
下一篇: 【STM32】中断向量表
熟练的魔法师
博客等级 码龄8年 2714粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值