異なる優先度でフラグが立てられた行を含むグリッドがあります。優先度の高い行を赤、低い行を青などに色付けしたい.
特定の優先順位に色を任意に割り当てるのではなく、数学的に計算されたグラデーションに基づいて色合いを設定したいと思います。グラデーションに沿って単一の点から単一の色を抽出するにはどうすればよいですか?
異なる優先度でフラグが立てられた行を含むグリッドがあります。優先度の高い行を赤、低い行を青などに色付けしたい.
特定の優先順位に色を任意に割り当てるのではなく、数学的に計算されたグラデーションに基づいて色合いを設定したいと思います。グラデーションに沿って単一の点から単一の色を抽出するにはどうすればよいですか?
のようなものはどうですか
VB.Net
Private Shared Function ColorGradientRedToBlue(ByVal index As Single) As Color
If index < 0 OrElse index > 1.0R Then
Throw New ArgumentException("index must be between 0 and 1")
End If
Return Color.FromArgb(CInt(((1.0R - index) * 255)), 0, CInt((index * 255)))
End Function
C#
static Color ColorGradientRedToBlue(float index)
{
if (index < 0 || index > 1.0)
throw new ArgumentException("index must be between 0 and 1");
return Color.FromArgb((int)((1.0 - index) * 255), 0 ,(int)(index * 255));
}