保持Alpha在Pygame PixelArray中

时间:2015-08-21 16:24:07

标签: python pygame pixel

我不想将图像中的每种颜色都改为灰色;但我不想对我的图像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()

1 个答案:

答案 0 :(得分:0)

以下是一种解决方法:使用您将永远不会使用的颜色(如魔术粉色或漆黑色)绘制图像文件g.png的所有透明像素。然后只改变图像的颜色,但是你是透明的颜色 - 然后,在你的blit之前,将你的数组转换为曲面并将colorkey设置为透明颜色,如下所示:surface.set_colorkey((225, 0, 225))