我有一个(R,G,B)三元组,其中每个颜色介于0.0和1.0之间。给定一个因子F(0.0表示原始颜色,1.0表示白色),我想计算一个新的三重态,即颜色的“水印”版本。给定一个R,G,B三元组和一个F因子,如何计算颜色的“水印”版本?
我使用下面的表达式(伪代码):
for each c in R, G, B:
new_c ← c + F × (1 - c)
这产生一些看起来okayish,但我明白这引入了偏差的颜色的色相(之前和之后的检查HSV等效转型),我不知道这是否是预期的。
是否有一个“标准”(带或不带引号)算法来计算“水印”版本的颜色?如果是,那是哪个?如果不是,你可以告诉我什么其他算法达到同样的效果?
您是否知道:我的算法与在初始颜色上使用不透明度F混合白色相同?因为那是另一种选择,但我认为它是一样的。无论如何,如果你确实知道其他方式来做到这一点,请更新你的答案。谢谢。 – tzot 2010-10-26 14:57:10
是的,您的方式与混合白色与不透明F完全相同。 – andrewmu 2010-10-26 15:13:07