我正在使用pygame库开发一个简单的游戏,但是当我开始绘制文本(抗锯齿功能)时,它已经变得与我的Photoshop概念略有不同。字体对我来说看起来太尖锐了。有些字母太薄,有些字母太厚。有些较低,有些较高。这是一个例子(数字看起来非常不成比例)。
的Photoshop:
我的游戏:
重要的是,在photoshop中有一个选项sharp
,这使我的文字看起来就像我现在的游戏一样(图2)。所以我把它切换到smooth
,结果出现在第一张图片上。
那么我能以某种方式修复这种尖锐的字体并使其看起来更平滑吗?也许更好地将图像用于静态文本?或者我应该处理它?</ p>
答案 0 :(得分:0)
我建议使用 pygame.freetype
模块以获得更好的结果。
最小示例:
import pygame
import pygame.freetype
pygame.init()
window = pygame.display.set_mode((500, 150))
clock = pygame.time.Clock()
ft_font = pygame.freetype.SysFont('Sans', 50)
run = True
while run:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
window.fill((255, 255, 255))
text_str = 'Player 1 9:8 Player 2'
text_rect = ft_font.get_rect(text_str)
text_rect.center = window.get_rect().center
ft_font.render_to(window, text_rect.topleft, text_str, (100, 200, 255))
pygame.display.flip()
pygame.quit()
exit()