Graphics 混合模式配方适用于强光、柔和光、颜色减淡、颜色燃烧?

Graphics 混合模式配方适用于强光、柔和光、颜色减淡、颜色燃烧?,graphics,alphablending,porter-duff,Graphics,Alphablending,Porter Duff,我正在尝试为CSS实现poor man的混合模式,期望浏览器能够提供支持。(我使用的CSS预处理器是触控笔,这对讨论并不重要。)我从W3C SVG规范中找到了一些公式,但其中一些公式给出的结果与预期的结果大不相同,具体来说,强光,柔和光,颜色减淡,以及颜色燃烧 有人知道更正确、更可靠的混合模式公式吗?我将每种颜色的RGB通道乘以它们的alpha 这是我到目前为止得到的。 点击此链接。公式非常简单 柔和的光线有完整的描述 硬光与叠加相同,但图像反转。遵循叠加公式 “颜色减淡混合模式将底层除以倒

我正在尝试为CSS实现poor man的混合模式,期望浏览器能够提供支持。(我使用的CSS预处理器是触控笔,这对讨论并不重要。)我从W3C SVG规范中找到了一些公式,但其中一些公式给出的结果与预期的结果大不相同,具体来说,
强光
柔和光
颜色减淡
,以及
颜色燃烧

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

这是我到目前为止得到的。
点击此链接。公式非常简单

  • 柔和的光线有完整的描述
  • 硬光与叠加相同,但图像反转。遵循叠加公式
  • “颜色减淡混合模式将底层除以倒置的顶层”


下载PhotoShopMathFp.hlsl OPengl es的所有公式都不存在

请参见我的答案,它指向Adobe关于alpha混合工作原理的规范。它包括上述模式。@user1118321谢谢您的链接!然而,规范似乎只是描述了上述模式的效果,而没有给出它们的公式。奇怪的是,它们似乎有一些,但不是全部。我以为他们都有。该死的。哦,我明白了——这些描述了它们是如何与其他描述相比较的。你应该能从那里解决问题。见第414-417页。嗯,很有趣。我重新阅读了这些描述,硬光灯和软光灯的描述似乎非常明确,这将允许我干一点代码。ColorDodge和ColorBurn(SoftLight所依赖的)的描述更加模糊——我不确定“亮度”和“反射源颜色”在数学术语中的含义。有什么想法吗?