Pygame:文本传输到 SRCALPHA 表面时失去抗锯齿
Pygame: Text losing anti-aliasing when blitting to SRCALPHA surface
我最近更改了 pygame 游戏处理菜单的方式。我正在渲染的任何文本在被 blit 到显示器 (screen
) 之前被 blit 到一个名为 guiSurface
的表面。
问题是这会导致文本出现锯齿,而直接将其 blitting 到显示器则没有这个问题。
与guiSurface
(screenshot):
menuFont = pygame.font.Font('assets/MarkPro.otf',15,bold=False,italic=False)
menuText = menuFont.render(version, 1, (255,255,255))
guiSurface.blit(menuText,(790-(menuText.get_size()[0]),475))
screen.blit(guiSurface, (0,0))
pygame.display.update()
直接显示(screenshot):
menuFont = pygame.font.Font('assets/MarkPro.otf',15,bold=False,italic=False)
menuText = menuFont.render(version, 1, (255,255,255))
screen.blit(menuText,(790-(menuText.get_size()[0]),475))
screen.blit(guiSurface, (0,0))
pygame.display.update()
我尝试在 menuText
和 guiSurface
表面上使用 .convert()
和 .convert_alpha()
,在两个代码片段的第 2 行之后,但无济于事。我不知道什么时候抗锯齿丢失了。
当然感谢您的帮助,在此先致谢。
错在我。将它传送到显示器后我没有清除 guiSurface
,这意味着我正在绘制已经存在的内容而不是新的表面。
我最近更改了 pygame 游戏处理菜单的方式。我正在渲染的任何文本在被 blit 到显示器 (screen
) 之前被 blit 到一个名为 guiSurface
的表面。
问题是这会导致文本出现锯齿,而直接将其 blitting 到显示器则没有这个问题。
与guiSurface
(screenshot):
menuFont = pygame.font.Font('assets/MarkPro.otf',15,bold=False,italic=False)
menuText = menuFont.render(version, 1, (255,255,255))
guiSurface.blit(menuText,(790-(menuText.get_size()[0]),475))
screen.blit(guiSurface, (0,0))
pygame.display.update()
直接显示(screenshot):
menuFont = pygame.font.Font('assets/MarkPro.otf',15,bold=False,italic=False)
menuText = menuFont.render(version, 1, (255,255,255))
screen.blit(menuText,(790-(menuText.get_size()[0]),475))
screen.blit(guiSurface, (0,0))
pygame.display.update()
我尝试在 menuText
和 guiSurface
表面上使用 .convert()
和 .convert_alpha()
,在两个代码片段的第 2 行之后,但无济于事。我不知道什么时候抗锯齿丢失了。
当然感谢您的帮助,在此先致谢。
错在我。将它传送到显示器后我没有清除 guiSurface
,这意味着我正在绘制已经存在的内容而不是新的表面。