我正在尝试为 CSS 实现穷人的混合模式,期待浏览器推出支持。 (我使用的 CSS 预处理器是 Stylus,这对讨论并不重要。)我从 W3C SVG 规范中找到了 a source for blending mode calculations,但有些方程给出的结果与预期的大相径庭——特别是 hard-lightsoft-lightcolor-dodgecolor-burn

有没有人知道有关混合模式的更正确、更可靠的公式?我将每种颜色的 RGB channel 乘以它们的 alpha。

这是我到目前为止所得到的。
https://github.com/pdaoust/stylus-helpers/blob/master/blend.styl

最佳答案

按照这个链接。公式非常简单。

http://en.wikipedia.org/wiki/Blend_modes

  • Soft Light 有完整的描述。
  • HardLight 与 Overlay 相同,但图像倒置。遵循叠加公式。
  • "颜色减淡混合模式将底层除以倒置的顶层"
  • 10-08 07:02