相关疑难解决方法(0)

如何用C#自然地混合颜色?

我必须以自然的方式混合一些颜色.这意味着

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并返回该颜色.

.net c# colors mixing

45
推荐指数
2
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

colors ×1

mixing ×1