转换RGB方法?

Pen*_*uen 0 .net c# asp.net algorithm

我怎样才能做到这一点?

int blue = Color.Blue.ToArgb();
int yellow = Color.Yellow.ToArgb();

blue = (blue + yellow) / 2;

Color Blue = ConvertFromRGB(blue);
Run Code Online (Sandbox Code Playgroud)

Nol*_*rin 8

我想你要找的是这个:

var blueColor = Color.FromArgb((blue + yellow) / 2);
Run Code Online (Sandbox Code Playgroud)

不过,我认为这会给你你真正想要的结果.

你必须非常小心地以这种方式混合颜色.int就编码器而言,表示ARGB形式的颜色的值是相当随意的.最好将RGB组件单独混合,例如:

var color1 = Color.Blue;
var color2 = Color.Yellow;
var blueColor = Color.FromArgb((color1.R + color2.R) / 2,
    (color1.G + color2.G) / 2, (color1.B + color2.B) / 2);
Run Code Online (Sandbox Code Playgroud)

这会在两种颜色之间进行插值(取中心点),并且应该给你一些看起来更像是两种颜色混合的东西.

(注意,我假设你在System.Drawing.Color这里指的是类型.)