!Registra tu dominio ya!


Respuesta
  #1 (permalink)  
Antiguo 04-May-2010, 09:10
JehrDa
Guest
 
Mensajes: n/a
Predeterminado Convertir color a formato hexadecimal html en C#

Si queremos almacenar el nombre de un color en la base de datos hay muchas formas de hacerlo, sin embargo, para manejar un numero mayor de colores seria mejor guardarlos en formato hexadecimal.... como?

Por ejemplo, el color rojo (Red) tiene como código hexadecimal el "FF0000", si guardamos el nombre "Red" en la base de datos tendriamos que recuperarlo asi:

Color color = Color.FromName(NombreColor);

donde "NombreColor" es por ejemplo "Red"

Ahora, para obtener el formato hexadecimal de un color aplicamos las lineas siguientes:

// Elejimos un color de la paleta de colores (ColorDialog)
Color color = cdColores.Color;
// Transformamos el color a argb
int ARGB = color.ToArgb();
// Ahora convertimos el ARGB a HTML
string NuevoColor = ColorTranslator.ToHtml(Color.FromArgb(ARGB));

En "NuevoColor" tenemos el código hexadecimal del color, por ejemplo #FF0000 y asi podemos guardarlo en alguna tabla de la base de datos.

Para transformar ese código hexadecimal al formato que C# acepta, osea System.Drawing.Color hacemos

Color color = ColorTranslator.FromHtml(ColorHexadecimal);

donde "ColorHexadecimal" es por ejemplo "#FF0000"

OJO: No olvidar usar la libreria System.Drawing
using System.Drawing;






Responder Citando
  #2 (permalink)  
Antiguo 04-May-2010, 10:49
Jorgemen
Guest
 
Mensajes: n/a
Predeterminado

Cita:
Iniciado por JehrDa Ver Mensaje
Si queremos almacenar el nombre de un color en la base de datos hay muchas formas de hacerlo, sin embargo, para manejar un numero mayor de colores seria mejor guardarlos en formato hexadecimal
Por que sería mejor JehrDa, podrías explicarnos mejor?
Responder Citando
  #3 (permalink)  
Antiguo 11-May-2010, 09:57
JehrDa
Guest
 
Mensajes: n/a
Predeterminado Rpta

Si aplicamos la propiedad cdColores.Color.Name y esa variable lo almacenamos en la base de datos tendriamos algunos valores como: "Red", "ff8000ff", "Lime", "Green" y si queremos luego recuperar esos colores en una variable color:

Color color = Color.FromName("Red"); // Esto es correcto

pero:

Color color = Color.FromName("ff8000ff"); // Esto produce un error

Por lo tanto para evitarnos esto mejor almacenamos todos los colores en su formato hexadecimal
por ejemplo de "Red" es "#FF0000".
Responder Citando
 
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado