Que tal, ahora veremos como podemos obtener un
objeto Color en WPF en base a su color en hexadecimal, en WPF utiliza el
namespace System.Windows.Media y es diferente a la clase color de System.Drawing.Color para evitar confusiones, se recomienda poner
como referencia el espacio de nombres de nuestra clase Color
en WPF.
using System.Windows.Media;
ahora declaramos e implementamos los siguientes métodos:
public
static Color
GetColorFromHexadecimal(string
hexadecimalNumber)
{
System.Drawing.Color
color = System.Drawing.ColorTranslator.FromHtml(hexadecimalNumber);
return Color.FromArgb(color.A, color.R, color.G,
color.B);
}
dPara poder convertir nuestro numero hexadecimal,
que en realidad es una cadena por que trae al inicio el símbolo “#”, es
necesario utilizar la clase ColorTranslator y su método FromHtml, que recibe
como parámetro justamente un string con un numero hexadecimal. Esta clase nos
regresa un objeto de la clase Color pero del espacio de nombres System.Drawing,
lo único que tenemos que hacer es convertirlo a la clase Color de
System.Windows.Media con el método FromArgb.
Nuestro objeto color que obtuvimos de nuestro método
FromHtml, tiene propiedades para el color Alpha, Red, Green y Blue, lo único que
tenemos que hacer es utilizarlas para poder crear una instancia.
Ahora declaramos el siguiente método, que ahora nos
regresara un numero hexadecimal en base a un objeto Color.
public
static string
GetHexadecimalFromColor(Color color)
{
string
colorInHexadecimal = "#";
colorInHexadecimal += color.A.ToString("X2")
+ color.R.ToString("X2") +
color.G.ToString("X2") +
color.B.ToString("X2");
return
colorInHexadecimal;
}
Lo que tenemos que hacer es concatenar cada uno de las
propiedades de nuestro objeto color, y convertirlas a string pero en
hexadecimal.
Espero que esta información les sea de utilidad.
Enjoy ;)
0 comentarios:
Publicar un comentario