【发布时间】:2019-03-30 06:43:18
【问题描述】:
我正在尝试组合以元组形式给出的两种 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)作为 alpha。其他一切正常,但我不知道如何获得新颜色的 alpha 值。
两种颜色的 alpha 值都在 0 到 255 之间。
【问题讨论】: