Visual Basic - Tomar Valor en RGB

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Daniel Steckler

Tomar Valor en RGB

Publicado por Daniel Steckler (360 intervenciones) el 29/05/2006 12:08:00
Quisiera saber como puedo tomar el valor RGB de un determinado objeto, por ejemplo para colorear un label le pongo label1.forecolor = rgb(5,6,7) ahora lo que quiero es que de alguna manera me devuelva un valor de ese modo ya que si pongo X = label1.forecolor me devuelve un numero entero
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:Tomar Valor en RGB

Publicado por goyi (54 intervenciones) el 29/05/2006 12:54:12
Hola!!!!!

He intentado lo que as dicho y he llegado a esta conclusion:

RGB se compone de rojo, verde y azul, bueno pues los valores de cada uno son, rojo=1, verde=256, azul=65536.
Por eso si pones uno de cada uno el total es 65793.
Si cojes uno rojo, otro verde y ninguno azul el total es 257. Y asi sucesivamente.
Entonces con este codigo que te dejo se soluciona la duda que tenias:
--------------------------------------------------------------------------------------------------------
'Creo tres variables para meter los valores de rojo, verde y azul
Dim rojo As Long
Dim azul As Long
Dim verde As Long
'Luego creo otra variable para meter el numero restante
Dim restante As Long
'Ahora meto en la variable restante el valor del backcolor
restante = label.BackColor
'Ahora hago las operaciones necesarias
azul = Val(restante / 65536)
restante = restante - (azul * 65536)
verde = Val(restante / 256)
restante = restante - (verde * 256)
rojo = Val(restante / 1)
restante = restante - (rojo * 1)
label.caption = "R:" & rojo & " G:" & verde & " B:" & azul
--------------------------------------------------------------------------------------
Espero que te sirva!!!!

Besos!!

Goyi
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