Pygame编程(9)font模块

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()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Adapter Tuning Overview:在CV,NLP,多模态领域的代表性工作

文章目录 Delta TuningAdapter Tuning in CVAdapter Tuning in NLP Delta Tuning Adapter Tuning in CV 题目: Learning multiple visual domains with residual adapters 机构:牛津VGG组 论文: https://arxiv.org/pdf/1705.08045.pdf Adapter Tuning in NLP …

Gateway简述

前言 ​ 在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端调用多个微服务接口的地址。另外微服务架构的请求中,90%的都携带认证信息/用户登录信息,都需要做相关的限制管理,API网关由此应允而生。 这样的架构会存…

海康摄像头通过SDK接入到LiveNVR实现双向语音喊话对讲与网页无插件播放,并支持GB28181级联语音对讲...

目录 1、确认摄像头是否支持对讲2、摄像头视频类型复合流3、通道配置SDK接入4、视频广场点击播放5、相关问题 5.1、如何配置通道获取直播流?5.2、如何GB28181级联国标平台?6、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、确认摄像头是否支持对讲 可以访问摄…

基于微信小程序的宠物领养平台的设计与实现(Java+spring boot+微信小程序+MySQL)

获取源码或者论文请私信博主 演示视频: 基于微信小程序的宠物领养平台的设计与实现(Javaspring boot微信小程序MySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java…

NFT Insider #104:The Sandbox:全新土地销售活动 Turkishverse 来袭

引言:NFT Insider由NFT收藏组织WHALE Members、BeepCrypto联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据,艺术新闻类,游戏新闻类,虚拟世界类&#…

ReactNative 密码生成器实战

效果展示图 使用插件 Formik 负责表单校验、监听表单提交、数据校验错误信息展示 Yup 负责表单校验规则 分析页面 从上述的展示图我们可以看到的主要元素有:输入框、单选按钮和按钮。其中生成的密码长度不可能很大也不可能为负数和 0,所以我们可以限…

在Jupyter Notebook中添加Anaconda环境(内核)

在使用前我们先要搞清楚一些事: 我们在安装anaconda的时候它就内置了Jupyter Notebook,这个jupyter初始只有base一个内核(显示为Python3) 此后其实我们就不需要重复安装完整的jupyter notebook了,只要按需为其添加新的…

通讯录(C语言)

通讯录 一、基本思路及功能介绍二、功能实现1.基础菜单的实现2.添加联系人信息功能实现3.显示联系人信息功能实现4.删除联系人信息功能实现5.查找联系人信息功能实现6.修改联系人信息功能实现7.排序联系人信息功能实现8.加载和保存联系人信息功能实现 三、源文件展示1.test.c2.…

JavaFX 加载 fxml 文件

JavaFX 加载 fxml 文件主要有两种方式,第一种方式通过 FXMLLoader 类直接加载 fxml 文件,简单直接,但是有些控件目前还不知道该如何获取,所以只能显示,目前无法处理。第二种方式较为复杂,但是可以使用与 fx…

C#,《小白学程序》第四课:数学计算

1 文本格式 /// <summary> /// 《小白学程序》第四课&#xff1a;数学计算 /// 这节课超级简单&#xff0c;就是计算成绩的平均值&#xff08;平均分&#xff09; /// 这个是老师们经常做的一件事。 /// </summary> /// <param name"sender"></…

MyBatis plus 多数据源实现

1. 项目背景 最近写文章发布到【笑小枫】小程序和我的个人网站上&#xff0c;因为个人网站用的是halo框架搭建&#xff0c;两边数据结构不一致&#xff0c;导致我每次维护文章都需要两边维护&#xff0c;这就很烦~ 于是&#xff0c;本文就诞生了。通过项目连接这两个数据库&a…

uniapp 安卓平台签名证书(.keystore)生成

安装JRE环境 下载jre安装包&#xff1a;https://www.oracle.com/java/technologies/downloads/#java8安装jre安装包时&#xff0c;记录安装目录(例:C:\Program Files\Java\jdk-20)打开命令行&#xff08;cmd&#xff09;&#xff0c;将JRE安装路径添加到系统环境变量 d: se…

tableau基础学习1:数据源与绘图

文章目录 读取数据常用绘图方法1. 柱状图2. 饼图3. 散点图4. 热力图 第一部分是一些较容易上手的内容&#xff0c;以及比较常见的可视化内容&#xff0c;包括&#xff1a;柱状图、饼图、散点图与热力图 读取数据 打开界面后&#xff0c;选择数据源之后就可以导入数据&#xf…

使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

ARM开发,stm32mp157a-A7核(UART总线实验)

1.目标&#xff1a;键盘输入一个字符a,串口工具显示b&#xff1b; 键盘输入一个字符串"nihao",串口工具显示"nihao"&#xff1b; 2.框图分析&#xff1a; 3.代码&#xff1a; ---.h头文件--- #ifndef __UART4_H__ #define __UART4_H__#include "st…

南卡开放式耳机再添新品,南卡OE CC会不会成为行业搅局者?

Nank南卡官方于8月25日宣布&#xff0c;将要上线一款百元级性价比神机-南卡OE CC&#xff0c;该新款开放式耳机以“年度开放式耳机百元标杆”为宣传口号&#xff0c;Nank南卡一直以来坚持产品力优先&#xff0c;在研发上一直都很激进&#xff0c;上一代的OE Pro首创了EAA悬停舒…

暴力枚举专题之统计方形

P2241 统计方形&#xff08;数据加强版&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 你以为这篇文章的标题是暴力枚举那么我们就直接枚举长方形和正方形的数量吗&#xff0c;nonono&#xff0c;小伙子&#xff08;小美女&#xff09;&#xff0c;洛谷哪会这么善…

根据源码,模拟实现 RabbitMQ - 网络通讯设计,实现客户端Connection、Channel(完结)

目录 一、客户端代码实现 1.1、需求分析 1.2、具体实现 1&#xff09;实现 ConnectionFactory 2&#xff09;实现 Connection 3&#xff09;实现 Channel 二、编写 Demo 2.1、实例 2.1、实例演示 一、客户端代码实现 1.1、需求分析 RabbitMQ 的客户端设定&#xff…

Git想远程仓库与推送以及拉取远程仓库

理解分布式版本控制系统 1.中央服务器 我们⽬前所说的所有内容&#xff08;⼯作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#xff0c;都是在本地也就是在你的笔记本或者计算机上。⽽我们的 Git 其实是分布式版本控制系统&#xff01;什么意思呢? 那我们多人…