我试图在所有其他桌面窗口(类似于HUD或OSD)之上显示文本(实际上是我遇到此问题时的翼形字符)。
以下是一个测试,它接受通过命令行传递的文本并使用pygame显示它。我不知道如何让文本没有任何背景,即。什么都不应该覆盖其他窗口应该只是悬停文本。
我查看了pyosd,但文档记录很少,似乎不支持TrueType字体。
任何指针都表示赞赏。
#!/usr/bin/python
# source: https://sivasantosh.wordpress.com/2012/07/18/displaying-text-in-pygame/
import pygame, sys, time
from pygame.locals import *
pygame.init()
backgroundcolor = 0, 0, 0
textcolor = 255, 255, 0
fontsize = 120
displaytext = str(sys.argv[1])
displayduration = 10
infoObject = pygame.display.Info()
size = [infoObject.current_w, infoObject.current_h]
pygame.display.set_caption('font example')
screen = pygame.display.set_mode(size)
basicfont = pygame.font.SysFont(None, fontsize)
def DisplayMessage(string):
text = basicfont.render(string, False, (textcolor)).convert_alpha()
textrect = text.get_rect()
textrect.centerx = screen.get_rect().centerx
textrect.centery = screen.get_rect().centery
screen.blit(text, textrect)
pygame.display.update()
time.sleep(displayduration)
DisplayMessage(displaytext.decode("utf-8"))
sys.exit()