Question

I possède une grille contenant des lignes marqué avec des priorités différentes. Je veux colorier les lignes de haute priorité rouge, les bas bleu, etc.

Je souhaite régler l'ombre en fonction d'un gradient calculé mathématiquement plutôt que d'affecter arbitrairement les couleurs aux priorités spécifiques. Comment puis-je extraire une seule couleur à partir d'un seul point le long gradient?

Était-ce utile?

La solution

Que diriez-vous quelque chose comme

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));
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top