Ряды цветового кода в сетке данных на основе градиента в формах 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