Create contrasting Color

  • Thread starter Thread starter Joe
  • Start date Start date
J

Joe

I don't know if contrasting is really the right word but here's what I mean.

Take a normal Listbox (or similar) when the test is selected the text turns
blue. If the background is blue the text turns white. This happens in
different combinations of forecolor - backcolor combinations.

How can I determine what is the right color (contrasting color) to use?
 
For a direct contrast you can invert the RGB. This works for most cases
except 50% gray.

Color.FromArgb(255-myColor.R, 255-myColor.G,255-myColor.B)

You can also detect the brightness and pick a suitable contrasting colour
that way. Alternatively you can obtain the hue and use the opposite hue.
There is an article on HSB usage in the GDI+ FAQ.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top