2010-04-03 66 views
5

Actualmente estoy trabajando en un proyecto en el que, a medida que diferentes usuarios agregan texto a un documento, me gustaría que cambie el color del texto.Cambio de colores mediante programación en C#

Originalmente, estaba usando los valores de color predefinidos de C# y simplemente colocando los que quería usar en una enumeración en mi aplicación y recorriendo los colores a medida que diferentes usuarios agregaban anotaciones. Esto funciona bien, y estoy de acuerdo con esta solución.

Sin embargo, también podría haber elegido cambiar los valores RGB y los colores derivados de esa manera. Tengo curiosidad sobre qué tipo de algoritmo sería bueno para cambiar esos valores para obtener diferentes conjuntos de colores. Esto es más simplemente un ejercicio de algo en lo que había pensado.

Para aclarar un poco, no quiero simplemente incrementar uno de los valores de color (R, G o B) porque eso no me daría suficiente variedad en mis colores. Pero, no creo que también funcione para incrementar las tres cantidades iguales. También tengo que tener cuidado con la repetición de colores (hasta cierto punto). Los requisitos para mi proyecto anticipan, a lo sumo, 10 revisores diferentes.

Respuesta

4

Lo mejor que puedes hacer para este tipo de problema es usar valores HSL o HSV y variar el tono. Luego, vuelve a convertir a RGB.

See this link for more information.

+0

Gracias, Brian. Wow, eso es mucho más simple de lo que pensaba. Solución bastante ordenada. – JasCav

+0

@Jason: Definitivamente parece más complicado porque cuando trabajas con un modelo de color que no coincide con lo que quieres hacer, * es * más difícil. –

Cuestiones relacionadas