-
项目种常常设计一个背景图+透明color的方式 ,如何转换成普通的rgb或者16进制呢?
(1) 计算公式:
Color = Color * alpha + Background * (1 - alpha);
(2) 举例说明
下图例子1中, 背景色: #2080F7 === rgb(32, 128, 247)
透明颜色: rgba(255, 255, 255, 0.2)
计算:
Red = 255 * 0.2 + 32 * (1-0.2) = 76
Green = 255 * 0.2 + 128 * 0.8 = 153
Blue = 255 * 0.2 + 247 * 0.8 = 248
所以取色rgb应该为(76, 153, 248)下图例子2中, 背景色没有设置,但是是基于白色(255, 255 255) 显示的
透明颜色: rgba(32, 128, 247, 0.4)
计算:
Red = 32 * 0.4 + 255 * (1-0.4) = 166
Green = 128 * 0.4 + 255 * 0.6 = 204
Blue = 247 * 0.4 + 255 * 0.6 = 252
所以取色rgb应该为(166, 204, 252)
rgba 转 rgb或者16进制的计算方法
最新推荐文章于 2025-03-11 14:55:23 发布