2010-04-03 7 views
5

Je travaille actuellement sur un projet où, lorsque différents utilisateurs ajoutent du texte à un document, j'aimerais que la couleur du texte change. À l'origine, j'utilisais les valeurs de couleur prédéfinies de C# et je mettais simplement celles que je voulais utiliser dans une énumération dans mon application et parcourais les couleurs en fonction des annotations ajoutées par les différents utilisateurs. Cela fonctionne bien, et je suis d'accord avec cette solution.Modifier les couleurs en C par programme #

Cependant, j'aurais aussi pu choisir de changer les valeurs RVB et les couleurs dérivées de cette façon. Je suis curieux de savoir quel type d'algorithme serait bon de changer ces valeurs pour obtenir différents ensembles de couleurs. C'est plus juste un exercice de quelque chose que j'avais pensé.

Pour clarifier un peu, je ne veux pas simplement incrémenter l'une des valeurs de couleur (R, G ou B) parce que cela ne me donnerait pas assez de variété dans mes couleurs. Mais, je ne pense pas que cela fonctionnerait aussi pour augmenter les trois montants égaux. Je dois aussi faire attention aux couleurs répétitives (jusqu'à un certain point). Les exigences de mon projet prévoient au plus 10 évaluateurs différents.

Répondre

4

La meilleure chose à faire pour ce genre de problème est d'utiliser des valeurs HSL ou HSV et de ne varier que la teinte. Ensuite, retournez en RVB.

See this link for more information.

+0

Merci, Brian. Wow, c'est beaucoup plus simple que je ne le pensais. Jolie solution soignée. – JasCav

+0

@Jason: Cela semble définitivement plus compliqué car lorsque vous travaillez avec un modèle de couleur qui ne correspond pas à ce que vous voulez faire, il est * plus difficile. –

Questions connexes