2 つの ARGB カラー c1 と c2 があるとします。
背景 c2 の 50% (アルファ) c1 と背景 c1 の 50% c2 の間に違いはありますか?
out = alpha * new + (1 - alpha) * old
(別のスレッドからの)式を使用すると、両方とも同じ結果になります。
50% blue on 100% red = 0.5 * blue + (1 - 0.5) red = 0.5 * blue + 0.5 red
100% red on 50% blue = 0.5 * red + (1 - 0.5) blue = 0.5 * red + 0.5 blue
thus, 50% blue on 100% red = 100% red on 50% blue
ただし、Photoshop CS5#80007f
では、「100% 青の上に 50% 赤」が「100% 赤の上に 50%青」であると主張してい #7f0080
ます。
したがって、上記のアルゴリズムは単純な現実の近似のためだけのものなのだろうか?
より正確な結果が得られる別の式はありますか? (アドビはグラフィックスに関しては非常に優れているため、このような単純な丸め誤差を犯す可能性は非常に低いと思います)