Visual Basic.NET - colores en hexadecimal!!!!!

   
Vista:

colores en hexadecimal!!!!!

Publicado por Almudena (12 intervenciones) el 17/06/2009 10:52:58
Hola amigos:
necesito una funcion que yo le pase un color en hexadecimal y m devuelva un tipo color es decir el nombre del color. Gracias es urgente!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:colores en hexadecimal!!!!!

Publicado por Joan F (129 intervenciones) el 18/06/2009 07:37:02
Hola,

Tengo este código que devuelve el nombre del color a partir de un color en formato hexadecimal RGB.

No se si es esto lo que estas buscando.

Private Sub ObtenerNombreColor()

Dim valorColor As Integer
Dim _nombreColor As String

'aquí entramos el valor como hexadecimal
'el valor esta en formato &H RR GG BB
'donde
'RR: cantidad de rojo (de 00 a FF)
'GG: cantidad de verde (de 00 a FF)
'BB: cantidad de azul (de 00 a FF)
valorColor = &HFFFFF0

'añadimos el componente alfa, ya que .net
'trabaja con alfa+16 bits color
valorColor = valorColor + &HFF000000

_nombreColor = NombreColor(valorColor)

MsgBox(_nombreColor)

End Sub

Private Function NombreColor(ByVal argb As Integer) As String

Dim _color As Color

'obtenemos el color a partir del argb
_color = Color.FromArgb(argb)

'de toda la lista de colores, comparamos el argb del color
'com el argb de cada color hasta encontrar el correspondiente
For Each col As String In [Enum].GetNames(GetType(KnownColor))
If Color.FromName(col).ToArgb = _color.ToArgb Then
Return col
End If
Next

Return ""

End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:colores en hexadecimal!!!!!

Publicado por Joaquin Zamora (1 intervención) el 25/04/2011 15:36:28
Hola JoanF he probado tu codigo y la funcion 'NombreColor' si le pasas como parametro el color naranja que tiene este valor decimal 4294934528 y este valor Hex FFFF8000 no funciona da una excepcion de aritmetica o sea que no puede der un Int32 sino un Int64
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar