You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

透明图层Multiply混合模式下颜色计算问题求助

透明图层Multiply混合模式颜色计算问题

问题背景

我正尝试以与语言无关的方式实现透明图层在Multiply混合模式下的颜色计算,目前用Excel验证。核心参数:

  • 背景色:#7D01FF(RGB(125,1,255),100%不透明度)
  • 上层源色:#FFFF01(RGB(255,255,1),50%不透明度)
  • 预期结果:#7D0180(RGB(125,1,128),100%不透明度)

初始尝试与错误结果

最初使用的Excel计算公式:

=( (E13/255)* ( (D13/255)*( (D$16/255) + ( ((C13/255)*(C$16/255)) * (1-(D$16/255) ))) /  ( (D$16/255) + ((C$16/255) * (1-(D$16/255))) )) ) *255

对应的推导逻辑公式:
[ C_o = \frac{C_b \times (C_s \times \alpha_s) + (C_a \times \alpha_a) \times (1-\alpha_s)}{\alpha_o} ]
其中:

  • (\alpha_o = \alpha_s + \alpha_a \times (1-\alpha_s))(最终不透明度)
  • Multiply混合规则:Blend(multiply) = C_b × C_s(R、G、B通道需单独计算)

错误结果:得到红色#7D0101(RGB(125,1,1),255不透明度),完全不符合预期的紫色。

后续调整仍未匹配预期

调整计算逻辑后,得到结果为RGB(201,180,180)、不透明度75%,但Illustrator中RGB色彩空间的预期结果是(126,0,8)、不透明度100%。调整后的计算过程:

  • 上层图层:RGB(255,255,1),alpha=50%,Multiply混合模式
  • 下层图层:RGB(125,1,255),alpha=100%,Normal混合模式
  • 混合权重t设为50%
  • Alpha计算:((1-0.5)(127.5/255) + 0.5(255/255))
  • 颜色通道计算:[ [rgb] = \sqrt{(1 - t) \times (c1[n])^2 + t \times c2[n]^2} ]

求助需求

我正为基于Material Design的设计系统搭建设计令牌目录,编程经验有限,恳请指导问题出在哪里。

内容的提问来源于stack exchange,提问作者browneyesblue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:13:21