我正在寻找如何在Pygame中以类似Monogame的方式给图像着色。我一直在尝试让自定义标志(如BLEND_ADD)起作用,但很难找到我要找的简明示例,大多数人只是在尝试“变暗”或以某种方式处理alpha级别。
问题: 如何以与MonoGame相同的方式将图像着色为特定的RGBA值?
我正在寻找如何在Pygame中以类似Monogame的方式给图像着色。我一直在尝试让自定义标志(如BLEND_ADD)起作用,但很难找到我要找的简明示例,大多数人只是在尝试“变暗”或以某种方式处理alpha级别。
问题: 如何以与MonoGame相同的方式将图像着色为特定的RGBA值?
将图像填充为一种颜色,并将 BLEND
常量之一作为
special_flags
参数传递,例如your_image.fill((190,0,0,100), special_flags = pygame.BLEND_ADD)
。
请注意, BLEND_RGB_ADD 只是 BLEND_ADD 的别名(其他模式同样适用)。 RGBA模式还会修改Alpha通道(ADD和MAX使透明部分可见)。
下面是一个表格,显示了不同混合模式的效果(我还添加了在Photoshop中的名称):