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);