繁体   English   中英

根据导入的十进制值应用颜色值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM