欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

pygame学习笔记——设置字体、显示中文

时间:2023-06-03
一、获得可用字体

import pygameprint(pygame.font.get_fonts())

结果: 

['arial', 'arialblack', 'bahnschrift', 'calibri', 'cambriacambriamath', 'cambria', 'candara', 'comicsansms', 'consolas', 'constantia', 'corbel', 'couriernew', 'ebrima', 'franklingothicmedium', 'gabriola', 'gadugi', 'georgia', 'impact', 'inkfree', 'javanesetext', 'leelawadeeui', 'leelawadeeuisemilight', 'lucidaconsole', 'lucidasans', 'malgungothic', 'malgungothicsemilight', 'microsofthimalaya', 'microsoftjhengheimicrosoftjhengheiui', 'microsoftjhengheimicrosoftjhengheiuibold', 'microsoftjhengheimicrosoftjhengheiuilight', 'microsoftnewtailue', 'microsoftphagspa', 'microsoftsansserif', 'microsofttaile', 'microsoftyaheimicrosoftyaheiui', 'microsoftyaheimicrosoftyaheiuibold', 'microsoftyaheimicrosoftyaheiuilight', 'microsoftyibaiti', 'mingliuextbpmingliuextbmingliuhkscsextb', 'mongolianbaiti', 'msgothicmsuigothicmspgothic', 'mvboli', 'myanmartext', 'nirmalaui', 'nirmalauisemilight', 'palatinolinotype', 'segoemdl2assets', 'segoeprint', 'segoescript', 'segoeui', 'segoeuiblack', 'segoeuiemoji', 'segoeuihistoric', 'segoeuisemibold', 'segoeuisemilight', 'segoeuisymbol', 'simsunnsimsun', 'simsunextb', 'sitkasmallsitkatextsitkasubheadingsitkaheadingsitkadisplaysitkabanner', 'sitkasmallsitkatextboldsitkasubheadingboldsitkaheadingboldsitkadisplayboldsitkabannerbold', 'sitkasmallsitkatextbolditalicsitkasubheadingbolditalicsitkaheadingbolditalicsitkadisplaybolditalicsitkabannerbolditalic', 'sitkasmallsitkatextitalicsitkasubheadingitalicsitkaheadingitalicsitkadisplayitalicsitkabanneritalic', 'sylfaen', 'symbol', 'tahoma', 'timesnewroman', 'trebuchetms', 'verdana', 'webdings', 'wingdings', 'yugothicyugothicuisemiboldyugothicuibold', 'yugothicyugothicuilight', 'yugothicmediumyugothicuiregular', 'yugothicregularyugothicuisemilight', 'dengxian', 'fangsong', 'kaiti', 'simhei', 'holomdl2assets', 'extra', 'opensansregular', 'opensanssemibold', '']
 

二、字体的中英文对照

一般的中文字体名,使用拼音即可,如 仿宋fangsong, 楷体kaiti

新细明体:PMingLiU 
细明体:MingLiU 
标楷体:DFKai-SB 
黑体:SimHei 
宋体:SimSun 
新宋体:NSimSun 
仿宋:FangSong 
楷体:KaiTi 
仿宋_GB2312:FangSong_GB2312 
楷体_GB2312:KaiTi_GB2312 
微软正黑体:Microsoft JhengHei 
微软雅黑体:Microsoft YaHei

三、设置字体

import pygame,syspygame.init()#pygame库的初始化root_sf = pygame.display.set_mode((480,600))#创建窗口,设置大小#显示文字print(pygame.font.get_fonts())font_name = pygame.font.match_font('fangsong') # 2.获得字体文件font = pygame.font.Font(font_name, 20) # 1.获取font对象(需要字体文件)# 绘制内容:text为内容,True为是否抗锯齿, WHITE是字体颜色font_surface = font.render('你好', True, 'white') # 3.将文字生成 surface对象root_sf.blit(font_surface, (100, 100))#4.将文字surface对象 放到背景surface上while True:#阻止窗口关闭 #事件判断 for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() #刷新屏幕 pygame.display.flip()

 四、拓展

1.上方方法是匹配系统的字体

2.匹配字体文件的字体

 

import pygame,syspygame.init()#pygame库的初始化root_sf = pygame.display.set_mode((480,600))#创建窗口,设置大小#显示文字print(pygame.font.get_fonts())# font_name = pygame.font.match_font('fangsong') # 2.获得字体文件# font = pygame.font.Font(font_name, 20) # 1.获取font对象(需要字体文件)font = pygame.font.Font("simhei.ttf", 20) # 1.获取font对象(需要字体文件)# 绘制内容:text为内容,True为是否抗锯齿, WHITE是字体颜色font_surface = font.render('你好', True, 'white') # 3.将文字生成 surface对象root_sf.blit(font_surface, (100, 100))#4.将文字surface对象 放到背景surface上while True:#阻止窗口关闭 #事件判断 for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() #刷新屏幕 pygame.display.flip()

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。