Icono del sitio Programando a medianoche

Conversiones de colores en .NET

Colores

Muchas veces estamos trabajando con colores en .NET y necesitamos obtener el código HTML de los mismos para utilizarlo en un control, o el número correspondiente al color Ole para pasárselo a un componente COM (ActiveX).  El primer caso puede resolverse obteniendo cada componente RGB del color y pasando su valor numérico a hexadecimal, pero para convertirlo a Ole para utilizarlo en COM es más complicado.  Para resolver estas cuestiones en .NET existe la clase ColorTranslator, la cual se encuentra en el namespace System.Drawing, y permite convertir un color de .NET a HTML, Ole o Win32 y viceversa, o sea, de un valor entero de un color Ole o de Windows o de un string con un color HTML se puede obtener el color en .NET correspondiente.  Un ejemplo de esto se muetra en la siguientes lineas:

string strBlanco = "#FFFFFF"; //Blanco
string strRojo = "#FF0000"; //Rojo
 
//Estructura de .NET con el color blanco
System.Drawing.Color colorBlanco = System.Drawing.ColorTranslator.FromHtml(strBlanco);

//Estructura de .NET con el color rojo
System.Drawing.Color colorRojo = System.Drawing.ColorTranslator.FromHtml(strRojo);

//Valor numérico que representa el color blanco en Windows
int intBlanco = System.Drawing.ColorTranslator.ToWin32(colorBlanco);

//Valor numérico que representa el color rojo en Ole
int intRojo = System.Drawing.ColorTranslator.ToOle(colorRojo);
Salir de la versión móvil