我必须以自然的方式混合一些颜色。这表示
blue + yellow = green
blue + red = purple
等等。我将颜色作为 RGB 值。当我尝试混合它们时,我得到了正确的“RGB”结果,例如
green + red = yellow
yellow + blue = white
但不是正确的“自然湿漆”结果。任何好主意如何以自然的方式混合RGB?
如果有人知道Microsoft.Xna.Framework.Graphics
命名空间内的解决方案,那就太好了,但通用解决方案也会有所帮助:)
@Jay Bazuzi:
请发布一个代码示例,显示您正在尝试执行的操作。
当然 - 这是我混合两种 RGB 颜色的功能。
public Color colorMixer(Color c1, Color c2)
{
int _r = Math.Min((c1.R + c2.R),255);
int _g = Math.Min((c1.G + c2.G),255);
int _b = Math.Min((c1.B + c2.B),255);
return new Color(Convert.ToByte(_r),
Convert.ToByte(_g),
Convert.ToByte(_b));
}
到目前为止我在这个线程中读到的内容非常有希望 - 我会将 C1 和 C2 转换为 L a b*,混合它们 - 将其转换回 RGB 并返回该颜色。