首先,我是C#的新手!
我有一个大约300万行的文件。每行包含一个介于0和1之间的数字(小数点后6位)。
我想要做的是为每个数字创建一个RGB值,具体取决于0到1之间的数字。例如,0将为绿色,1将为红色,并且之间的所有数字将具有绿色和红色之间的RGB值,创建以表示其在色标下方的距离。
如何计算RGB值?
答案 0 :(得分:2)
嗯,最简单的方法是:
int red = (int)(Num * 255);
int green = (int)((1 - Num) * 255);
int blue = 0;
通过这种方式,您可以获得红色和绿色之间的渐变,绿色为0,红色为1。
然而,听起来你想要为“好”到“坏”之间的值产生视觉比例。因为人们通常也想在中间放置黄色来表示“好看”的价值观。这是代码:
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;
}
答案 1 :(得分:-2)
您需要派生算法将您的小数值转换为三个单独的值,红色,绿色和蓝色。然后使用内置的颜色类型使用这些值(https://msdn.microsoft.com/en-us/library/cce5h557(v=vs.110).aspx)创建颜色。
你对颜色的处理取决于你。