在Pygame PixelArray中保留Alpha



我不想将图像中的所有颜色都更改为灰色,但我不想对图像alpha进行任何更改。我不想保留图像的透明像素。这是我的代码:

from pygame import *
init()
screen = display.set_mode([640, 640])
r = image.load('g.png')
r = transform.scale(r,(640,640))
ar = PixelArray (r)
ar.replace ((255, 255, 255), (110, 110, 110), 0.15)
del ar
screen.blit(r, (0,0))
display.update()

这里有一个解决方法:用你永远不会使用的颜色来绘制你的图像文件g.png的所有透明像素,比如魔粉或漆黑。然后只需改变图像的任何颜色,但你是透明颜色-然后,在你blit之前,将你的数组转换为一个表面,并将colorkey设置为你的透明颜色,像这样:surface.set_colorkey((225, 0, 225))

最新更新