基于vb.net表单中梯度的数据网格中的颜色代码行
-
28-09-2019 - |
题
我有一个包含不同优先级的行的网格。我想为高优先行红色,蓝色低,蓝色等。
我想根据数学计算的梯度设置阴影,而不是任意将颜色分配给特定优先级。如何从梯度沿单点提取单个颜色?
解决方案
怎么样
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));
}
不隶属于 StackOverflow