透明窗口在pygame的或Python(Transparent Window in Pygame o

2019-07-29 04:25发布

我试着做一个透明的窗口闪屏为我的比赛。 该图像具有透明度,但我不能使窗口透明(像看屏幕,桌面,等等。它后面)所有我发现是pygame的一个不走。 有没有办法,我可以从拉使之成为可能的任何外部库? BTW。 这完全是一个Linux项目。 所以操作系统特定都OK了。

#Splash Screen
screen = pygame.display.set_mode((680,300), NOFRAME)
splashbg = pygame.image.load("Images/SplashBG.png")
font = pygame.font.Font(None, 36)

pygame.mixer.music.load("OriginalEnd.mp3")
pygame.mixer.music.play(-1)

screen.blit(splashbg,(0,0))
loadingtext = font.render("Loading...", 1, (255,255,255))
screen.blit(loadingtext, (200,250))
pygame.display.flip()
pygame.time.delay(4000)

Answer 1:

你总是可以用假装透明度贫民窟的版本吧。 这是不以任何方式的理想解决方案,但它可能工作..

之前您启动屏幕上,使用PIL采取桌面的快照,块传输,超过它,然后再绘制您的透明图像。 这样,它至少会给出透明度错觉

东西有点像:

import ImageGrab, Image 

im = Imagegrab.grab()
im.save('faux_trans.png','png')

for_trans = pygame.image.load('faux_trans.png').convert()

splash = pygame.image.load.... 

screen.blit(for_trans, (0,0))

# and so on. 

就像我说的,不是最伟大的解决方案,但如果您启动游戏NOFRAME,或全屏,你可以用它跑了! :)



文章来源: Transparent Window in Pygame or Python