c#rgb色标

Dar*_*ung 2 c# rgb

我需要根据数据显示特定的颜色表示.比例的一端是绿色,另一端是红色.比例应覆盖其间的颜色.

我对实际编程很满意,但不确定如何缩放rgb颜色.有没有人知道这种事情的任何尺度?

谢谢.

dec*_*one 6

以下方法应该适合您:

    Color GetColor(Int32 rangeStart /*Complete Red*/, Int32 rangeEnd /*Complete Green*/, Int32 actualValue)
    {
        if (rangeStart >= rangeEnd) return Colors.Black;

        Int32 max = rangeEnd - rangeStart; // make the scale start from 0
        Int32 value = actualValue - rangeStart; // adjust the value accordingly

        Int32 green = (255 * value) / max; // calculate green (the closer the value is to max, the greener it gets)
        Int32 red = 255 - green; // set red as inverse of green

        return Color.FromRgb((Byte)red, (Byte)green, (Byte)0);
    }
Run Code Online (Sandbox Code Playgroud)


Ran*_*Ran 5

你是这个意思吗?

颜色 GetColor(int 比例)
{
    // 范围在 1 到 255 之间
    返回 Color.FromArgb(255, 比例, 255 - 比例, 0);
}