假设我们有两种 ARGB 颜色 c1 和 c2。
背景 c2 上的 50% (alpha) 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声称“100% 蓝色上 50% 红色”是 #80007f
“100% 红色上 50% 蓝色” #7f0080
。
因此,我想知道上述算法是否仅用于简单的现实近似?
是否有另一个公式可以为我们提供更真实的结果?(由于 Adobe 在图形方面相当领先,我认为他们不太可能犯这么简单的四舍五入错误)