曲径通幽论坛

标题: [混合模式]亮光模式 [打印本页]

作者: beyes    时间: 2018-1-29 01:35
标题: [混合模式]亮光模式
官方文档是这样描述亮光模式的:
通过增加或减小对比度来加深或减淡颜色,具体取决于混合色。如果混合色(光源)比 50% 灰色亮,则通过减小对比度使图像变亮。如果混合色比 50% 灰色暗,则通过增加对比度使图像变暗。


计算公式:
混合色 <= 128:结果色 = 255 - (255 - 基色)/(2 * 混合色) * 255;
混合色 > 128:结果色 = 基色 / (2 *(255 - 混合色)) * 255。


将 255 当成 1,混合色用 a 表示,基色用 b 表示,结果色用 c 表示,那么公式简化为:
若 a <= 0.5, c = 1 + (b-1)/2a

若 a > 0.5, c = b / 2(1-a)


假设基色取值为: (0, 0.2, 0.4)和 (1, 0.8, 0.6)
假设混合色取值为:(0.4, 0.6, 0.8)
算得结果色的值分别为:(0, 0.25, 1)和 (1, 0.996, 1)。

通过公式可以验证:

当 a <= 0.5 时,c-b => 2a/2a + (b-1)/2a - 2ab/2a => [2a + (b-1) - 2ab] / 2a => [ (1-b) * (2a-1) ] / 2a,因为 2a-1 小于 0,整个结果为负数,因此知道图像变暗。
当 a > 0.5 时, c-b => b/2(1-a) -b => (b-2b+2ab)/2(1-a) => b(2a-1) / 2(1-a),因为 a 大于 0.5,因此整个式子结果大于0,所以知道图像变亮。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2