我必须以自然的方式混合一些颜色.这意味着
blue + yellow = green
blue + red = purple
Run Code Online (Sandbox Code Playgroud)
等等.我得到了RGB-Values的颜色.当我尝试混合它们时,我得到了正确的"RGB"结果
green + red = yellow
yellow + blue = white
Run Code Online (Sandbox Code Playgroud)
但不是正确的"天然湿涂料" - 结果.如何以自然的方式混合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));
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我在这个帖子中读到的内容非常有前途 - 我将C1和C2转换为L a b*,混合它们 - 将其转换回RGB并返回该颜色.
我有一组天空图像,一些有云,有些没有.
有些是晴朗的蓝天,有些是晴天,有些是白色和灰色的云.
如何确定特定RGB值或多或少是蓝色?
任何蓝色的阴影都是"蓝色" - 浅蓝色,深蓝色,深蓝色,天蓝色 - 这些都是蓝色的.
我想将图像中的颜色减少到16个.然后我想制作白色,银色,灰色,蓝色和"其他所有"的直方图.
我如何从RGB值知道什么是蓝色或银色,白色或灰色,还是其他什么?