[英]apply a color value depending on decimal value imported
首先,我是C#的新手!
我有一个大约300万行的文件。 每行包含一个介于0和1之间的数字(6个小数位)。
我要为每个数字创建一个RGB值,具体取决于该数字介于0和1之间。 例如,0将是绿色,1将是红色,并且所有之间的数字将具有介于绿色和红色之间的RGB值,以表示其色阶向下的程度。
如何计算RGB值?
好吧,最简单的方法是:
int red = (int)(Num * 255);
int green = (int)((1 - Num) * 255);
int blue = 0;
这样,您将获得红色和绿色之间的渐变,其中绿色为0,红色为1。
但是,听起来好像您想要为从“好”到“坏”的值生成可视范围。 因此,人们通常也希望在中间放置黄色以表示“ okayish”值。 这是该代码:
int red, green, blue;
if ( Num < 0.5 )
{
red = (int)(Num * 2 * 255);
green = 255;
blue = 0;
}
else
{
red = 255;
green = (int)((2 - 2 * Num) * 255);
blue = 0;
}
您需要导出一种算法,将十进制值转换为三个独立的值,红色,绿色和蓝色。 然后使用内置的颜色类型使用这些值创建您的颜色( https://msdn.microsoft.com/en-us/library/cce5h557(v=vs.110).aspx )。
您可以使用那里的颜色做什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.