C#: Convert Drawing.Color to HTML Hex Color Value and Back

I was working on a small project that needed to colorize text from stored values and bitmap gradients which involved getting color values from individual pixels as RGB values or System.Drawing.Color values. The following code demonstrates how to convert back-and-forth between System.Drawing.Color and string values (#XXXXXX or the name). I’ve seen how some people have gone out of their way to do these conversions with their own code implementations, but why recreate what’s already in the .NET Framework?

I must admit though, I didn’t think this was already built-in until I searched MSDN.

 1 using System.Drawing;
2 using System;
4 public partial class ColorConvert : System.Web.UI.Page
5 {
6 protected void Page_Load(object sender, EventArgs e)
7 {
8 //convert to the HTML color value of a
9 //known System.Drawing.Color
10 string htmlNamedColorValue =
11 ColorTranslator.ToHtml(Color.Crimson);
12 //output: "Crimson"
14 //convert to the HTML hex color value from
15 //System.Drawing.Color with RGB values (208,0,0)
16 string htmlHexColorValueTwo =
17 ColorTranslator.ToHtml(Color.FromArgb(0, 208, 0, 0));
18 //output: "#D00000"
20 //convert to System.Drawing.Color from HTML hex color value
21 Color colorValueFrmHex =
22 ColorTranslator.FromHtml("#FFFF33");
23 //output: System.Drawing.Color with RGB values (255,25,51)
25 //convert to System.Drawing.Color from HTML known color
26 Color colorValue =
27 ColorTranslator.FromHtml("DarkRed");
28 //output: Color.DarkRed
30 string htmlHexColorValueThree =
31 String.Format("#{0:X2}{1:X2}{2:X2}", colorValue.R,
32 colorValue.G,
33 colorValue.B);
34 //output: "#8B0000"
35 }
36 }

kick it on DotNetKicks.com

Tags: .NET, ASP.NET, C#, Code, How To, HTML, Programming, Tips

Bookmark and Share