.

May 30 2007

Convertir entre RGB, Hex y Color en Visual Basic

Published by Webmaster at 4:41 pm under vb

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Como primer paso necesitamos un formulario con, 5 cajas de texto y 4 botones de comando.
También puedes encontrar un ejecutable al final del artículo.

colores_vb.jpg

El artículo es muy simple, pues como siempre el primer paso es entender el procedimiento y ya después te encargaras de adaptarlo a tus necesidades.

Botón cmdhextorgb.

Tomará el contenido de la caja de texto Text1 el cual debe ser de 7 caracteres #FFCC00

Visual Basic:
  1. Private Sub cmdhextorgb_Click()
  2.     ‘#FFCC00
  3.     hexcolor = Text1.Text
  4.     Dim r, g, b As Byte
  5.     r = CByte(“&H” & Mid(hexcolor, 2, 2))
  6.     g = CByte(“&H” & Mid(hexcolor, 4, 2))
  7.     b = CByte(“&H” & Mid(hexcolor, 6, 2))
  8.    
  9.     txtResult.BackColor = RGB(r, g, b)
  10.     txtResult.Text = r & “,” & g & “,” & b
  11. End Sub

Botón cmdrgbtohex.

Tomará el contenido de la caja de texto Text2 el cual debe ser separado por comas 255,255,255

Visual Basic:
  1. Private Sub cmdrgbtohex_Click()
  2.     Dim num(0 To 3)
  3.     Dim pos1, pos2
  4.     RGB_Color = Text2.Text
  5.      ‘255,255,255
  6.     contador = 1
  7.     Do
  8.         pos1 = InStr(RGB_Color, “,”)
  9.         If pos1 = 0 Then
  10.             num(contador) = (RGB_Color)
  11.         Else
  12.             num(contador) = Mid(RGB_Color, 1, pos1 - 1)
  13.         End If
  14.         RGB_Color = Mid(RGB_Color, pos1 + 1, Len(RGB_Color))
  15.         contador = contador + 1
  16.     Loop Until pos1 = 0
  17.    
  18.     r = Val(num(1))
  19.     g = Val(num(2))
  20.     b = Val(num(3))
  21.     txtResult.BackColor = RGB(r, g, b)
  22.    
  23.  
  24.     ‘get the r value
  25.     If r <16 Then hex1 = 0 & Hex(r) Else hex1 = Hex(r)
  26.     ‘get the g value
  27.     If r <16 Then hex2 = 0 & Hex(g) Else hex2 = Hex(g)
  28.     ‘get the b value
  29.     If b <16 Then hex3 = 0 & Hex(b) Else hex3 = Hex(b)
  30.    
  31.     txtResult.Text = “#” & hex1 & hex2 & hex3
  32. End Sub

Botón cmdrgbtocolor.

Tomará el contenido de la caja de texto Text3 el cual debe ser separado por comas 255,255,255

Visual Basic:
  1. Private Sub cmdrgbtocolor_Click()
  2.     Dim num(0 To 3)
  3.     Dim pos1, pos2
  4.     RGB_Color = Text3.Text
  5.     ‘255,255,255
  6.     contador = 1
  7.     Do
  8.         pos1 = InStr(RGB_Color, “,”)
  9.         If pos1 = 0 Then
  10.             num(contador) = (RGB_Color)
  11.         Else
  12.             num(contador) = Mid(RGB_Color, 1, pos1 - 1)
  13.         End If
  14.         RGB_Color = Mid(RGB_Color, pos1 + 1, Len(RGB_Color))
  15.         contador = contador + 1
  16.     Loop Until pos1 = 0
  17.    
  18.     txtResult.BackColor = RGB(Val(num(1)), Val(num(2)), Val(num(3)))
  19.     rgbtocolor = Val(num(1)) + (Val(num(2)) * 256) + (Val(num(3)) * 65536)
  20.    
  21.     txtResult.Text = rgbtocolor
  22. End Sub

Botón cmdcolortorgb.

Y finalmente de Color a RGB.

Visual Basic:
  1. Private Sub cmdcolortorgb_Click()
  2.     mcolor = Val(Text4.Text)
  3.     Dim r, g, b As Byte
  4.     r = mcolor And 255
  5.     g = (mcolor \ 256) And 255
  6.     b = (mcolor \ 65536) And 255
  7.     colortorgb = r & “,” & g & “,” & b
  8.     txtResult.BackColor = RGB(r, g, b)
  9.     txtResult.Text = colortorgb
  10. End Sub

Click Para Bajar el Archivo
Bajar Archivos


 

    Share This     Te lleva a una entrada aleatoria

 

Trackback URI | Comments RSS

Deja un comentario