Я пытаюсь объединить два цвета RGBA, заданные в кортежах, например (0, 0, 0, 128) и (255, 255, 255, 128).Я уже нашел this , что было весьма полезно, но мой текущий код (Python)
def get_color(colorRGBA1, colorRGBA2):
alpha = 255 - (255 - colorRGBA1[3]) * (255 - colorRGBA2[3])
red = (colorRGBA1[0] * (255 - colorRGBA2[3]) + colorRGBA2[0] * colorRGBA2[3]) / 255
green = (colorRGBA1[1] * (255 - colorRGBA2[3]) + colorRGBA2[1] * colorRGBA2[3]) / 255
blue = (colorRGBA1[2] * (255 - colorRGBA2[3]) + colorRGBA2[2] * colorRGBA2[3]) / 255
return (int(red), int(green), int(blue), int(alpha))
каким-то образом возвращает некоторые странные числа (например, -15874) в виде альфы.Все остальное работает нормально, но я не могу понять, как получить альфа-значение нового цвета.
Оба цвета будут иметь альфа-значения в диапазоне от 0 до 255.