我需要在pygame中将某些图像变亮。然而,我不想每个图像都变亮。我能通过pygame来改变这个吗?
我在这里找到了一个类似的问题 (How can you edit the brightness of images in PyGame?),但我不知道如何乘以一张图片的颜色。有人能解释一下我该怎么做吗?
我需要在pygame中将某些图像变亮。然而,我不想每个图像都变亮。我能通过pygame来改变这个吗?
我在这里找到了一个类似的问题 (How can you edit the brightness of images in PyGame?),但我不知道如何乘以一张图片的颜色。有人能解释一下我该怎么做吗?
.fill()
方法来实现。如果填充的颜色是黑色(0, 0, 0),则图像不会改变。如果填充的颜色是白色(255, 255, 255),那么整个图像都会变成白色。例如:image = pygame.image.load(my_imagename)
brighten = 128
image.fill((brighten, brighten, brighten), special_flags=pygame.BLEND_RGB_ADD)
[...] 我希望这张图片更加透明。
如果您想增加图片的透明度,可以通过使用特殊标志BLEND_RGBA_MULT
来将图像与透明颜色"混合"。当然,您需要确保图像格式提供了一个alpha通道(例如.convert_alpha()
)。
image = pygame.image.load(my_imagename).convert_alpha()
transparency = 128
image.fill((255, 255, 255, transparency), special_flags=pygame.BLEND_RGBA_MULT)