我不想将图像中的每种颜色都改为灰色;但我不想对我的图像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()
答案 0 :(得分:0)
以下是一种解决方法:使用您将永远不会使用的颜色(如魔术粉色或漆黑色)绘制图像文件g.png
的所有透明像素。然后只改变图像的颜色,但是你是透明的颜色 - 然后,在你的blit之前,将你的数组转换为曲面并将colorkey设置为透明颜色,如下所示:surface.set_colorkey((225, 0, 225))