Pygame我如何快速切换图像但改变其颜色?

2024-10-03 11:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个随机标志发生器的程序。我做了一个白色的“背景”的旗帜,和不同的符号等是白色的。它们是白色的原因是我可以用RGB值给它上色。问题是,我不知道如何做到这一点(如果有可能的话),那么是否可以blit一个图像并在pygame中给它一个RGB值? 例如(这可能不正确,但最后2个blit中的第2个元组表示RGB):

surface=pygame.display.set_mode((100,200))
background=pygame.image.load("Background.png")
flagback=pygame.image.load("back.png")
symbol=pygame.image.load("symbol.png")
surface.blit(background,(0,0))
surface.blit(flagback,(0,0),(100,0,0))
surface.blit(symbol,(0,0),(0,100,0))

Tags: image程序png标志loadrgbsymbolsurface
1条回答
网友
1楼 · 发布于 2024-10-03 11:21:37

您可以使用^{}方法用纯色填充曲面,例如:

background.fill((0, 100, 200))

上面的线将填充整个图像,甚至是透明像素。在

您还可以传递一个special_flags参数来使用不同的blending mode

^{pr2}$

这个不影响完全透明的像素。在


如果您只想绘制一些形状,如矩形、圆形或多边形,请使用^{}(或^{})模块中的函数。在

相关问题 更多 >