質問

さまざまな優先順位でフラグが付けられた行を含むグリッドがあります。優先度の高い列を赤、低いものを青く色付けしたい。

特定の優先順位に色を任意に割り当てるのではなく、数学的に計算された勾配に基づいてシェードを設定したいと思います。グラデーションに沿って単一のポイントから単色を抽出するにはどうすればよいですか?

役に立ちましたか?

解決

どんなものはどうですか

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));
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top