簡體   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