如何计算原色混入白色生成目标色对应的白色混合占比
颜色混合白色占比通用计算方法
Sass的mix()函数属于RGB通道线性混合,只要符合「目标色仅由原色加白色混合生成」的前提,都可以用以下步骤计算白色占比:
- 第一步:将原色、目标色从十六进制色值转换为十进制RGB三元组
本次示例转换结果:
原色color1#0c3058:R=12,G=48,B=88
目标色color2#466280:R=70,G=98,B=128
白色#fff的固定RGB值为R=255,G=255,B=255 - 第二步:代入插值公式分别计算三个通道对应的白色占比
线性混合的基础公式为:目标色单通道值 = 白色占比 * 255 + (1 - 白色占比) * 原色单通道值
变形后得到白色占比计算公式:p = (目标色单通道值 - 原色单通道值) / (255 - 原色单通道值)
本次示例单通道计算结果:
R通道:p=(70-12)/(255-12) ≈ 23.87%
G通道:p=(98-48)/(255-48) ≈ 24.15%
B通道:p=(128-88)/(255-88) ≈ 23.95% - 第三步:取三个通道占比的平均值作为最终结果
三个通道计算结果平均后约为24%,和示例中mix(#fff, #0c3058, 24%)的参数完全匹配。
验证提示:如果三个通道计算出的占比差值超过2%,说明目标色不符合「仅由原色+白色混合」的前提,需要先确认颜色来源是否正确。
内容的提问来源于stack exchange,提问作者Talya S
相关产品推荐
相关产品推荐

