Pygame编程(9)font模块

news2024/9/21 17:35:43

Pygame编程(9)font模块

  • 函数
  • 示例

函数

  • pygame.font.init
    • 初始化字体模块
    • init() -> None
  • pygame.font.quit
    • 反初始化字体模块
    • quit() -> None
  • pygame.font.get_init
    • True,如果字体模块已初始化
    • get_init() -> bool
  • pygame.font.get_default_font
    • 获取默认字体的文件名
    • get_default_font() -> string
  • pygame.font.get_sdl_ttf_version
    • 获取SDL_ttf版本
    • get_sdl_ttf_version(linked=True) -> (major, minor, patch)
  • pygame.font.get_fonts
    • 获取所有可用字体
    • get_fonts() -> list of strings
  • pygame.font.match_font
    • 在系统上查找特定字体
    • match_font(name, bold=False, italic=False) -> path
  • pygame.font.SysFont
    • 从系统字体创建字体对象
    • SysFont(name, size, bold=False, italic=False) -> Font
  • pygame.font.Font
    • 从文件创建新的字体对象
    • Font(file_path=None, size=12) -> Font
    • Font(file_path, size) -> Font
    • Font(pathlib.Path, size) -> Font
    • Font(object, size) -> Font
    • Font类:
      • pygame.font.Font.bold
        • 获取或设置字体是否应以粗体呈现。
        • bold -> bool
      • pygame.font.Font.italic
        • 获取或设置字体是否应以假斜体呈现。
        • italic -> bool
      • pygame.font.Font.underline
        • 获取或设置是否应使用下划线呈现字体。
        • underline -> bool
      • pygame.font.Font.strikethrough
        • 获取或设置是否应使用删除线呈现字体。
        • strikethrough -> bool
      • pygame.font.Font.render
        • 绘制文本
        • render(text, antialias, color, background=None) -> Surface
      • pygame.font.Font.size
        • 确定呈现文本所需的空间量
        • size(text) -> (width, height)
      • pygame.font.Font.set_underline
        • 控制是否使用下划线呈现文本
        • set_underline(bool) -> None
      • pygame.font.Font.get_underline
        • 检查文本是否将带有下划线呈现
        • get_underline() -> bool
      • pygame.font.Font.set_strikethrough
        • 控制是否使用删除线呈现文本
        • set_strikethrough(bool) -> None
      • pygame.font.Font.get_strikethrough
        • 检查文本是否会使用删除线呈现
        • get_strikethrough() -> bool
      • pygame.font.Font.set_bold
        • 启用粗体呈现文本
        • set_bold(bool) -> None
      • pygame.font.Font.get_bold
        • 检查文本是否会以粗体显示
        • get_bold() -> bool
      • pygame.font.Font.set_italic
        • 启用斜体呈现文本
        • set_italic(bool) -> None
      • pygame.font.Font.metrics
        • 获取传递的字符串中每个字符的指标
        • metrics(text) -> list
      • pygame.font.Font.get_italic
        • 检查文本是否呈现为斜体
        • get_italic() -> bool
      • pygame.font.Font.get_linesize
        • 获取字体文本的行距
        • get_linesize() -> int
      • pygame.font.Font.get_height
        • 获取字体的高度
        • get_height() -> int
      • pygame.font.Font.get_ascent
        • 获取字体的上升
        • get_ascent() -> int
      • pygame.font.Font.get_descent
        • 获取字体的下降
        • get_descent() -> int
      • pygame.font.Font.set_script
        • 设置文本形状的脚本代码
        • set_script(str) -> None

示例

import sys
import pygame
from pygame.locals import *

pygame.init()

screen = pygame.display.set_mode((800, 600), flags=0)

fontinit = pygame.font.get_init()
print('fontinit:', fontinit)

ttf_version = pygame.font.get_sdl_ttf_version()
print('ttf_version:', ttf_version)

# 获取所有可用字体
fonts = pygame.font.get_fonts()
print('fonts:', fonts)

# 获取默认字体
default_font = pygame.font.get_default_font()
print('default font:', default_font)

# 获取字体 文件路径
match_font = pygame.font.match_font(name='华文行楷', bold=False, italic=False)
print('match font', match_font)


# Font创建文本
font = pygame.font.Font("C:/Windows/Fonts/simhei.ttf", 50)
text_font = font.render('这是Font创建的文本.', True,  (255, 0, 0), (255, 255, 255))

screen.blit(text_font, (100, 100))
print(text_font.get_height())
print(text_font.get_width())
print(text_font.get_rect())
print(text_font.get_bounding_rect())

# SysFont创建文本 指定字体名称
sysFont = pygame.font.SysFont('幼圆', 25)
sysFont.set_bold(True)
sysFont.set_italic(True)
sysFont.set_strikethrough(True)
text_sysFont = sysFont.render('这是SysFont创建的文本', True, (255, 0, 0), (255, 255, 255))
screen.blit(text_sysFont, (100, 200))

# SysFont创建文本 None
sysFontDefault = pygame.font.SysFont(None, 15)
text_sysFontDefault = sysFontDefault.render('SysFont Default font', True, (0, 255, 0), (0, 0, 255))
screen.blit(text_sysFontDefault, (100, 300))


while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        
        if event.type == MOUSEBUTTONUP:
            if event.button == 1:
                pass
                
    pygame.display.flip()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/932062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VUE笔记(九)vuex

一、vuex的简介 1、回顾组件之间的通讯 父组件向子组件通讯:通过props实现 子组件向父组件通讯:通过自定义事件($emit)方式来实现 兄弟组件之间的通讯:事件总线($eventBus)、订阅与发布方式来实现 跨级组件的通讯…

django+MySQL计算机毕设之图片推荐系统(报告+源码)

图片推荐系统是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过Python语言传递给数据库。通过此方式促进图片推荐信息流动和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的详细设计部分主要论述了几个主…

win开机自启jar包

下载winsw工具 只需下载图中红框的工具 https://github.com/winsw/winsw/releases 文件配置 将下载的文件与jar文件放置在一起&#xff0c;两个文件名修改为服务名 编辑xml文件 注意不要出现中文&#xff0c; 标签内的jar文件地址要改为自己目录 <service><!-- I…

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个题目详解(逻辑类型题2)

题目内容 题目日本某地发生了一件谋杀案&#xff0c;警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词&#xff1a; A说&#xff1a;不是我。 B说&#xff1a;是C。 C说&#xff1a;是D。 D说&#xff1a;C在胡说 已知3个人说了真话&#xff0c;1个…

VUE笔记(十)Echarts

一、Echarts简介 1、什么是echarts ECharts是一款基个基于 JavaScript 的开源可视化图表库 官网地址&#xff1a;Apache ECharts 国内镜像&#xff1a;ISQQW.COM x ECharts 文档&#xff08;国内同步镜像&#xff09; - 配置项 示例&#xff1a;echarts图表集 2、第一个E…

腾讯音乐财务前景疲软,股价上涨势头难以持续

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 市场对腾讯音乐第二季度财报反应积极 猛兽财经之前在2023年6月12日发表的一篇文章中就曾分析过腾讯音乐&#xff08;TME&#xff09;股票&#xff0c;我们当时分析了腾讯音乐2023年第一季度的财务业绩。根据S P Capital IQ…

[halcon] 局部图片保存 gen_circle 和 gen_rectangle2 对比 这怕不是bug吧

背景 我想实现一个功能&#xff0c;获取图片中瑕疵的位置&#xff0c;将瑕疵周边的一块区域抠图并保存。 上代码 一开始我代码这么写的&#xff1a; gen_circle (Rectangle, Row[i], Column[i], 256) reduce_domain(Image,Rectangle,GrayEllipse) crop_domain(GrayEllipse,…

Mybatis中实现动态SQL

目录 1 背景2 if判断2 choose(when,otherwise)选择分支进入3 where4 set5 trim6 foreach循环遍历7 小结 1 背景 不建议使用&#xff0c;但是有些需求又不得不用回来温习下。动态SQL语句,也就意味着SQL语句不在是一成不变的而是具有多样性. 2 if判断 if的用法还是跟平常差不多…

[论文阅读笔记26]Tracking Everything Everywhere All at Once

论文地址: 论文 代码地址: 代码 这是一篇效果极好的像素级跟踪的文章, 发表在ICCV2023, 可以非常好的应对遮挡等情形, 其根本的方法在于将2D点投影到一个伪3D(quasi-3D)空间, 然后再映射回去, 就可以在其他帧中得到稳定跟踪. 这篇文章的方法不是很好理解, 代码也刚开源, 做一…

Git工作流

实际开发项目使用到的分支: main&#xff1a;生产环境&#xff0c;也就是你们在网上可以下载到的版本&#xff0c;是经过了很多轮测试得到的稳定版本。 release&#xff1a; 开发内部发版&#xff0c;也就是测试环境。 dev&#xff1a;所有的feature都要从dev上checkout。 fea…

【C51 GPIO的原理和内部结构】

51单片机项目基础篇 中篇&#xff1a;介绍GPIO1、认识GPIO2、GPIO 结构框图与工作原理2.1、P0端口结构框图与工作原理2.1.1、剖析组成 P0 口的每个单元的作用2.1.2、 P0 口做为 I/O 口及地址/数据总线使用时的具体工作过程 2.2、P1 端口结构框图与工作原理2.3、P2 端口结构框图…

求生之路2社区服务器sourcemod安装配置搭建教程centos

求生之路2社区服务器sourcemod安装配置搭建教程centos 大家好我是艾西&#xff0c;通过上文我们已经成功搭建了求生之路2的服务端。但是这个服务端是纯净的服务端&#xff0c;就是那种最纯粹的原版。如果想要实现插件、sm开头的命令等功能&#xff0c;需要安装这个sourcemod。…

JavaScript(笔记)

目录 Hello World JavaScript 的变量 JavaScript 动态类型 隐式类型转换 JavaScript 数组 JavaScript 函数 JavaScript 中变量的作用域 对象 DOM 选中页面元素 事件 获取 / 修改元素内容 获取 / 修改元素属性 获取 / 修改 表单元素属性 获取 / 修改样式属性 新…

如何可以管理监督员工工作微信?

自从微信管理系统研发上线之后&#xff0c;为了各企业带来了福音。 很多用户企业都是这样评论微信管理系统的&#xff1a;员工的所有微信聊天记录后台都可以清楚明了的看到&#xff0c;聊天记录都是永久保存的&#xff0c;不担心员工在手机上把聊天记录删除&#xff0c;杜绝员…

基于黑猩猩算法优化的BP神经网络(预测应用) - 附代码

基于黑猩猩算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于黑猩猩算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.黑猩猩优化BP神经网络2.1 BP神经网络参数设置2.2 黑猩猩算法应用 4.测试结果&#xff1a;5.Matlab代…

MyBatis 的关联关系配置 一对多,一对一,多对多 关系的映射处理

目录 一.关联关系配置的好处 二. 导入数据库表&#xff1a; 三. 一对多关系&#xff1a;-- 一个订单对应多个订单项 四.一对一关系&#xff1a;---一个订单项对应一个订单 五.多对多关系&#xff08;两个一对多&#xff09; 一.关联关系配置的好处 MyBatis是一…

Java——它要求用户输入一个整数(实际上是一个字符串),然后计算该整数的平方值,并将结果输出。

这是一个Java程序&#xff0c;它要求用户输入一个整数&#xff08;实际上是一个字符串&#xff09;&#xff0c;然后计算该整数的平方值&#xff0c;并将结果输出。程序的基本流程如下&#xff1a; 首先&#xff0c;声明并初始化变量data和result&#xff0c;它们的初始值都为…

咸鱼之王俱乐部网站开发

我的俱乐部 最新兑换码 *注意区分大小写&#xff0c;中间不能有空格&#xff01; APP666 HAPPY666 QQ888 QQXY888 vip666 VIP666 XY888 app666 bdvip666 douyin666 douyin777 douyin888 happy666 huhushengwei888 taptap666 周活动 宝箱周 宝箱说明 1.木质宝箱开启1个…

Netty入门学习和技术实践

Netty入门学习和技术实践 Netty1.Netty简介2.IO模型3.Netty框架介绍4. Netty实战项目学习5. Netty实际应用场景6.扩展 Netty 1.Netty简介 Netty是由JBOSS提供的一个java开源框架&#xff0c;现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具&…

nuxt.js框架使用swiper的5.4.5版本记录,创建广告位幻灯片

nuxt依赖 “nuxt”: “^2.15.8”, “swiper”: “^5.4.5”, “vue”: “^2.7.10”, “vue-awesome-swiper”: “^4.1.1”, 需要完成的效果是 参考地址&#xff1a;https://3.swiper.com.cn/demo/pcSlide/ nuxt代码&#xff1a; <template><div class"page&quo…