将颜色设置为int变量

本文关键字:int 变量 设置 颜色 | 更新日期: 2023-09-27 18:03:53

我想为从0到9的每个数字设置一个颜色,从白色到黑色白色为0,黑色为9,所以在中间是蓝色=2,绿色=1,红色=4。因此,当用户输入数字2144214时,我可以计算并创建一个新的颜色。比如2xgreen, 2xblue和3xred,就是2+2+1+1+4+4+4,结果就是一种新颜色。这就是我的想法,但让我头疼的是为变量设置颜色值,这可能吗?我在WPF c#应用程序工作。

将颜色设置为int变量

我建议您使用Enum类型

enum Color
{
    white = 0,
    red = 1,
    blue = 2,
    black = 9
}

链接:https://msdn.microsoft.com/en-us/library/cc138362.aspx?f=255& MSPPError = -2147217396

看看你的完整问题,我认为你需要分别存储红色,绿色和蓝色,并根据输入的数字增加/减少这些值。可以是这样的

// get a digit
switch (digit) {
    case 0: // black, darken the color
        red -= 4;  // value of 4 is arbitrary, it could be 1 or other
        green -= 4;
        blue -= 4;
        break;
    case 1: // red
        red += 4;
        break;
    case 2: // green
        green += 4;
        break;
    case 3: // blue
        blue+= 4;
        break;
    case 4:  // cyan
        green += 4;
        blue += 4;
        break;
    case 5:  // yellow
        red += 4;
        green += 4;
        break;
    case 6:  // magenta
        red += 4;
        blue += 4;
        break;
    case 7:  // white, lighten everything
        red += 4;
        green += 4;
        blue += 4;
        break;
    default:
        break;
}

当然,您需要将红色、绿色和蓝色初始化为0,并且在构建颜色之后,需要检查其有效性(许多颜色系统对每种颜色的限制为255)。完成所有这些之后,您将有红色,绿色和蓝色,并且可以像上面的@EdPlunkett建议的那样使用color . fromarb()来合并这些颜色。