2009-07-20 12 views
3

J'ai une couleur et je veux obtenir une teinte de cette couleur d'un certain pourcentage. Donc, 100% est la couleur elle-même, 90% est une couleur légèrement plus claire, etc. Fondamentalement, c'est comme ajouter 10% d'opacité à la couleur, si la couleur est sur un fond blanc. J'ai besoin de convertir la couleur en une valeur de couleur HTML hexadécimale, donc je ne veux pas de transparence.Algorithme C# pour colorer un certain pourcentage

Existe-t-il un algorithme pour obtenir une teinte de la valeur System.Drawing.Color RGB?

+0

Juste un conseil, n'utilisez pas SetPixel/GetPixel, ils sont trop lents. Utilisez les pointeurs à la place –

Répondre

6

Oui, il y a plusieurs façons de procéder. Une façon serait de convert from RGB to HSB (Teinte, Saturation, Luminosité), puis de baisser la luminosité d'un certain pourcentage.

+0

Je l'ai changé en HSL, a changé l'éclairage d'un pourcentage, puis est revenu à RGB. Cela fonctionne très bien. Voici un post sur la façon de le faire avec C#, qui est ce que j'ai utilisé. http://blogs.msdn.com/cjacks/archive/2006/04/12/575476.aspx –