2

Adobe Photoshop の描画モード - Darken をシミュレートしようとしています。

基本的な Darken の原則を理解しています: Darken(a,b) = min(a,b)。例えば:

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

しかし、私はそれに透明性を持っています。Photoshop では、Darken は次のように機能します。

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

黒の上に緑が濃くなるのは緑です。なるほど、出力アルファは古典的な方法で計算されます: ao = aa + ab * (1-aa)。他の値がどのように計算されるか知っていますか?

ところで。Darken モードは交換可能です。

4

2 に答える 2

1

それで、やっと分かった。

Darken モードでは、コンポジションは Normal モードと同じですが、バック チャンネルが暗い場合、前後のチャンネルが反転されます。

各チャンネル: Darken(a, b) = a < b ? ノルム(a、b):ノルム(b、a);

したがって、私の一番上の例では、緑とアルファの場合:

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
于 2012-11-19T17:06:28.037 に答える
0

実際にはもう少し複雑です。ここには、これに答える他の同様の質問があります。使用するのに最適なものは、おそらく適切な名前です。

RGB 値の加法混色のアルゴリズム

于 2012-11-18T23:20:25.620 に答える