【pygame杂记】字体相关

另一篇文章中介绍了font模块的相关内容,但是实际上有很多不常用的。这边举几个例子,包含常用的步骤

font模块使用 显示文字

实际上就几个必要的步骤

1.创建字体对象

要使用字体自然要有字体对象的实例
创建并选择字体。创建的方法有多种,选择合适的就ok。

myfont = pygame.font.Font("msyh.ttf", 32)  # 用程序目录下的msyh.ttf字体文件
myfont = pygame.font.SysFont("msyh", 32) # 用系统字体

第一个参数: 字体文件
第二个参数: 字体大小

2.使用创建的字体实例调用render方法绘制成图片

实际上是使用Font实例

Text = "文本"
font_surface = myfont.sender(Text, True, BLUE,background = None)

第一个参数:要显示的内容
第二个参数:是否以抗锯齿的方式显示,True:抗锯齿, False:不抗锯齿
第三个参数: 显示文本的颜色
第四个参数: 背景

绘制到目标

screen.blit(font_surface, (0,0))
#绘制到目标screen上

全部代码

import pygame,sys
  
# 1.初始化操作
pygame.init()
 
# 2.创建游戏窗口
window_size_width = 600
window_size_height = 400
window = pygame.display.set_mode((window_size_width,window_size_height))
 
# 设置游戏标题
pygame.display.set_caption('游戏test')
 
# 创建字体对象
font = pygame.font.Font("C:/Windows/Fonts/STXINWEI.TTF",30)  # 参数:字体文件,字体大小
 
# 创建文字对象
text = font.render("你好",True,(255,0,0),(255,255,0))  # 参数:文字内容,True,文字颜色,背景颜色
 
# 缩放和旋转
text_rotozoom = pygame.transform.rotozoom(text, 90, 2)  # 参数:目标,旋转角度,缩放比例
 
w,h = text_rotozoom.get_size()  # 获取文字大小
window.blit(text_rotozoom,((window_size_width-w)/2,(window_size_height-h)/2 ))  # 渲染到窗口并设置字体显示位置
pygame.display.flip()  # 第一次刷新
 
# 3.让游戏保持一直运行的状态
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:  # 如果点击了关闭按钮
            sys.exit()

文字保存成png格式透明背景

import pygame  
pygame.init()  

text = "text"  
my_font = pygame.font.SysFont("arial", 64)  
name_surface = my_font.render(text, True, (0, 0, 0))  
pygame.image.save(name_surface, "name.png")  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值