pygame之font模块

这篇具有很好参考价值的文章主要介绍了pygame之font模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文字显示

1.思路

把文字区域转换为image surface然后使用blit()函数绘制到display surface

2.字体的获取

#查找默认字体函数
pygame.font.get_default_font()
#查找系统字体
pygame.font.get_fonts()
  • get_default_font函数返回pygame使用的默认字体的文件名称
  • get_fonts函数返回当前系统中所有可用字体的名称列表

3.相关函数

#创建font类对象函数(只适用于使用系统字体)
pygame.font.SysFont(name,size,bold=False,italic=False)

各参数解析:

  • name代表系统字体的名称,参数name为None时使用pygame默认字体
  • size表示字体大小
  • blod表示是否加粗
  • italic表示是否倾斜
#Font类构造函数
__init__(filename,size)

参数解析:

  • fillename表示字体文件名称,值为None时,使用默认字体
  • size表示字体尺寸
    注:使用自己的ttf字体文字显示文字必须使用Font构造函数创建字体对象
#文字区域转换为image surface的方法
render(text,antialias,color,background=None)

参数解析:

  • text只能是单行表示待显示的文字
  • antialias表示是否打开锯齿
  • color表示文字颜色
  • background表示背景颜色
#设置加粗
set_bold(bool)
#设置倾斜
set_italic(bool)
#设置下划线
set_underline(bool)

注:bool代表其接收的是布尔值,True或False

4.使用默认字体显示文字

#第一种方法
font=pygame.font.SysFont(None,32)
text=font.render("default font 0",True,(0,0,255))
#第二种方法
font=pygame.font.Font(None,32)
text=font.render("default font 0",True,(255,0,0))

注:绘制还需blit函数将其绘制到display surface上才能显示内容

5.使用系统字体显示文字

font=pygame.font.SysFont("arial",48)
text=font.render("system font",True,(255,0,0))

6.使用自己的ttf文件显示文字

font=pygame.font.Font("XXX.ttf",48)
text=font.render("system font",True,(255,0,0))

7.显示中文

font=pygame.font.SysFont("华文行楷",48)
text=font.render("你好,世界",True,(255,0,0))

8.具体实例

# 引入相关模块
import pygame,sys
# 函数声明与定义
def main():
    # 初始化
    pygame.init()
    # 设置窗口大小
    a=pygame.display.set_mode((800,700))
    # 填充背景色为白色
    a.fill((255,255,255))
    # 主循环
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                # 用户点击叉号结束
                pygame.quit()
                sys.exit()
        # 使用默认字体显示文字
        font=pygame.font.Font(None,32)
        text=font.render("Hello World",True,(255,0,0))
        a.blit(text,(50,50))
        # 使用系统字体显示文字
        font1=pygame.font.SysFont("arial",32)
        text1=font1.render("Hello World",True,(0,0,0))
        a.blit(text1,(50,100))
        # 显示中文
        font2=pygame.font.SysFont("华文新魏",48)
        text2=font2.render("你好,世界",True,(0,255,0))
        a.blit(text2,(50,150))
        # 刷新窗口页面
        pygame.display.flip()


if __name__=='__main__':
    # 调用函数
	main()


运行效果如下:
pygame之font模块文章来源地址https://www.toymoban.com/news/detail-489269.html

到了这里,关于pygame之font模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pygame学习(一)——pygame库的导包、初始化、窗口的设置、打印文字

    pygame是一个跨平台Python库(pygame news),专门用来开发游戏。pygame主要为开发、设计2D电子游戏而生,提供图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模块等。使用pygame,理论上可以开发设计市面上所有的2D类型游戏。 优点:pygame免费、开源,支持

    2024年02月03日
    浏览(36)
  • MCU_Font_Release,好用的LVGL的多语言转换工具!

    在CSDN发现一个很不错的工具 – MCU_Font_Release 最近弄一个项目用到了LVGL,然后需要中英文切换,官方也提供一个转换工具,不过需要有字库,而且操作起来非常复杂。链接:MCU_Font_Release 假如你找的字库没有中英文,那就和lvgl默认提供的字库不兼容,也就是中文和英文要分开

    2024年01月25日
    浏览(18)
  • [C#]使用OpenCvSharp实现区域文字提取

    【官方框架地址】 github.com/shimat/opencvsharp 【算法介绍】 采用opencv算法实现文字区域提取,步骤如下: (1)形态学操作 (2)查找轮廓 (3)筛选那些面积小的 (4)面积小的都筛选 (5)找到最小的矩形 【效果展示】 原图 提取结果: 【实现部分代码】 【源码下载】 https:

    2024年02月02日
    浏览(30)
  • Unity - 解决TMP FontAssetCreator 在生成 SDF 时 Font 显示 ????? 的问题

    美术找到一个字体和某个游戏的字体是一致 然后想让我丢 Unity 项目中试一下效果,结果发现除了 ASCII 字符,其他的字符都识别不了 那么下面就整理问题,和解决方法,便于日后索引 ( 因为这个问题,我在国内、外 都没搜索到相关解决方法 ) 自己的网盘地址 (注意不公开

    2024年02月12日
    浏览(29)
  • neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)

    作为一名想成为大神的菜鸟程序员,一个牛X的代码编辑环境是必不可少的,在这里我推荐neovim和emacs。我使用的是neovim,github上有neovim-from-scratch工程可以一步一步学习搭建,B站上也有相关视频可供学习,在这里不做赘述 neovim中可以配置个性化的图标,但是很多人配置完后图

    2024年02月07日
    浏览(43)
  • Python GUI设计——Entry文本框、文字区域Text

    目录 1.Entry 1.1基本概念 1.2使用show参数隐藏输入的字符 1.3Entry的get()方法 1.4Entry的insert()方法 1.5Entry的delete()方法 1.6计算数学表达式使用eval() 2.文字区域Text 2.1基本概念 2.2插入文字insert() 2.3Text加上滚动条Scrollbar设计 2.4字形 2.4.1family 2.4.2weight 2.4.3size 2.5选取文字 2.6Text的索引 2.

    2024年01月18日
    浏览(32)
  • pygame制作rpg类游戏或者模拟经营类游戏的思路

    Pygame 能够支持开发 RPG 类或者模拟经营类游戏。Pygame 提供了图形界面、事件处理、音频处理等基础功能,开发者可以利用这些功能实现自己的游戏逻辑。 例如,开发者可以利用 Pygame 实现以下功能: 地图绘制和移动:通过 Pygame 提供的绘图函数和事件处理函数,实现地图的绘

    2024年02月05日
    浏览(34)
  • 【批量区域识别内容重命名】批量识别图片区域文字并重命名,批量图片部分识别内容重命文件,PDF区域识别提取重命名

    我们在工作和生活中经常遇到这样的需求:比如将以下的图片区域识别进行重命名,批量识别后改成以时间和工作内容重命名,便于日后检索,快速查询 首先我们拍摄照片用到的是水印相机,这里的文字呢我们需要加个背景,这样在文字识别就很容易的被识别,准确率也非常

    2024年04月25日
    浏览(41)
  • 【Pygame手册02/20】pygame模块display控制窗口和屏幕

       本篇我们介绍pygame的display接口;该接口针对显性窗口的方方面面,在该文中,基本参考了官方手册,保证内容的覆盖,并且,作为代码支援,作者因此做了一些测试代码,和图片动画项目供相关人员参考。    display是pygame下的接口之一,所谓接口,就是本身无什么功

    2024年02月19日
    浏览(32)
  • pygame 中的transform模块

    简介 pygame模块用于变换Surface,Surface变换是一种移动或调整像素大小的操作。所有这些函数都是对一个Surface进行操作, 并将结果返回一个新的Surface。 有些变换被认为是破坏性的。这意味着每次执行这些变换都会丢失像素数据。常见的例子是调整大小和旋转。出于这个原因,

    2024年02月06日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包