将颜色设置为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#应用程序工作。
我建议您使用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()来合并这些颜色。