一尘不染

将RGBA转换为HEX

css

给定一个css颜色值,例如:

 rgba(0, 0, 0, 0.86)

假设背景为白色,如何将其转换为考虑了alpha分量的RGB十六进制值?


阅读 2936

收藏
2020-05-16

共1个答案

一尘不染

由于alpha值都会减弱背景色和颜色值,因此可以实现以下目的:

function rgba2rgb(RGB_background, RGBA_color)
{
    var alpha = RGBA_color.a;

    return new Color(
        (1 - alpha) * RGB_background.r + alpha * RGBA_color.r,
        (1 - alpha) * RGB_background.g + alpha * RGBA_color.g,
        (1 - alpha) * RGB_background.b + alpha * RGBA_color.b
    );
}

(以交互方式进行尝试:http :
//marcodiiga.github.io/rgba-to-rgb-
conversion

2020-05-16