R. *_* B. 4 python pygame python-3.x
我需要在 pygame 中我的一些图像的明亮版本。但是,我不想为每一个都制作一个明亮的版本。我可以通过 pygame 改变这个吗?
我在这里发现了一个类似的问题(如何在 PyGame 中编辑图像的亮度?),但我不知道如何乘以图像的颜色。有人可以解释我如何做到这一点吗?
如果您想使图像变亮,那么我建议为表面添加恒定颜色。这可以通过.fill()
使用特殊参数来实现BLEND_RGB_ADD
。如果填充颜色为黑色 (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)
Run Code Online (Sandbox Code Playgroud)
[...] 我希望图像更透明。
如果您想增加图像的透明度,那么您可以使用特殊标志将图像与透明颜色“混合” 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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1296 次 |
最近记录: |