给定一个css颜色值,例如:
rgba(0, 0, 0, 0.86)
假设背景为白色,如何将其转换为考虑了alpha分量的RGB十六进制值?
由于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)