graphics - 颜色混合 - 变暗模式

标签 graphics colors blending

我正在尝试模拟 Adob​​e Photoshop 的混合模式 - 变暗。

我理解基本的 Darken 原则:Darken(a,b) = min(a,b)。例如:

Darken( (.2, .3, .8), (.5, .1, .4) ) = (.2, .1, .4)   // (r, g, b)

但我有透明度。在 Photoshop 中,变暗的工作方式如下:

Darken( (0, 1, 0, .5), (0, 0, 0, .5) ) = (0, .3, 0, .75)   // (r, g, b, a)

黑色上的深绿色是绿色。我知道,输出 alpha 是以经典方式计算的:ao = aa + ab * (1-aa)。你知道其他值是如何计算的吗?

顺便说一句。变暗模式是可交换的。

最佳答案

所以我终于找到了。

在 Darken 模式下,构图与 Normal 模式相同,但如果后 channel 较暗,前后 channel 将翻转。

对于每个 channel : 变暗(a, b) = a < b ?范数(a, b) : 范数(b, a);

所以在我最上面的例子中,对于绿色和 alpha:

Darken( (1, .5), (0, .5) ) =  Norm( (0, .5), (1, .5) ) 
alpha = (.5 + .5*(1-.5)) = .75
green = (0*.5 + 1*.5*(1-.5)) / .75 = (0 + .25) / .75 = 0.333333

关于graphics - 颜色混合 - 变暗模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445623/

相关文章:

java - 重新启动扫雷 GUI 程序

r - 如何将对象传递给 R mtext()?

java - 如何在java中为设计着色?

Java 具有随机颜色的弹跳球应用程序

c++ - DirectX 混合状态问题

css - 如何找到合适的混合模式?

java - 使用 Java 绘制旋转的 ImageIcon

java - 用 Java 绘制 pacman

java - 褪色 sample

iOS 7/8 Objective C - 将混合模式应用于 View