我有一个随机标志生成器的程序。我为国旗制作了白色“背景”,并为白色制作了不同的符号等。它们是白色的原因是我可以使用RGB值对其进行着色。问题是,我不知道该怎么做(如果它甚至可能),那么是否有可能blit图像并在pygame中给它一个RGB值? 例如(这可能不正确,但最后2个blits中的第二个元组代表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))
答案 0 :(得分:1)
您可以使用pygame.Surface.fill
方法用纯色填充曲面,例如:
background.fill((0, 100, 200))
上面的线条将填满整个图像,甚至是透明像素。
您还可以传递special_flags
参数以使用其他blending mode:
background.fill((0, 100, 200), special_flags=pygame.BLEND_MULT)
这个不会影响完全透明的像素。
如果您只想绘制一些形状,如rects,circle或polygons,请使用pygame.draw
(或pygame.gfxdraw
)模块中的函数。