将 Alpha 保留在 Pygame PixelArray 中

Keep Alpha in Pygame PixelArray

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

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 之前,将你的数组转换为表面并将颜色键设置为你的透明颜色,如下所示:surface.set_colorkey((225, 0, 225))