Comunidad Gambas-es
SOLUCIONADO Código para usar un determinado color - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forumdisplay.php?fid=3)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forumdisplay.php?fid=7)
+--- Tema: SOLUCIONADO Código para usar un determinado color (/showthread.php?tid=830)



SOLUCIONADO Código para usar un determinado color - YuHi - 20-02-2022

Buen día. Mi pregunta es acerca de los colores que no son los predeterminados.
Cuando quiero poner color azul el fondo puedo utilizar 
Me.Background = Color.blue
o bien Color.green   etcétera. Pero si quiero un color que no sean esos cómo puedo obtener el equivalente numérico. Por ejemplo,  si pongo
Me.Background = 32582374
éste equivale un color rosa. Pero, ¿cómo puedo saber qué número debo poner para obtener un color en especial?  o bien, ¿cómo se puede poner un color en forma hexagesimal, o RGB?


RE: Código para usar un determinado color - Shordi - 20-02-2022

La forma más simple es usar un diálogo de seleccionar color, que te devuelve ya el número del color elegido. Para usarlo tendrás que añadir el componente gb.Form.Dialog a tu proyecto.

GAMBAS
  1. dim miPanel as panel
  2.  
  3. Dialog.SelectColor()
  4. miPanel.Background = dialog.Color



Si lo quieres hacer todo vía código, tienes el método RGB que te devuelve el número a partir de los tres primarios, y HSV, MERGE, Lighter, Darker, etc. para las distintas conversiones.

Saludos.


RE: Código para usar un determinado color - vuott - 20-02-2022

(20-02-2022, 05:40)YuHi escribió:  poner un color en forma hexagesimal

...de manera habitual:

GAMBAS
  1. Me.Background = &1F12AE6





RE: Código para usar un determinado color - cogier - 20-02-2022

Si ejecutas este código, en un programa gráfico, te dará todas las opciones. 

GAMBAS
  1. VBox1 As VBox
  2. VBox2 As VBox
  3. Splitter1 As Splitter
  4. Label1 As Label
  5. Label2 As Label
  6. Label3 As Label
  7. ColorChooser1 As ColorChooser
  8.  
  9. Public Sub ColorChooser1_Change()
  10.  
  11.   Dim hColorInfo As ColorInfo
  12.  
  13.   Me.Background = ColorChooser1.Value
  14.   hColorInfo = Color[ColorChooser1.Value]
  15.  
  16.   Label1.Text = "Me.Background = " & Str(ColorChooser1.Value)
  17.   Label2.Text = "Me.Background = &h" & Str(Hex(ColorChooser1.Value))
  18.   Label3.Text = "Me.Background = Color.RGB(" & Str(hColorInfo.Red) & "," & Str(hColorInfo.Green) & "," & Str(hColorInfo.Blue) & ")"
  19.  
  20.  
  21. Public Sub Form_Open()
  22.  
  23.   Me.H = 400
  24.   Me.W = 800
  25.   Me.Arrangement = Arrange.Vertical
  26.   Me.Padding = 5
  27.   Me.Text = "Color"
  28.  
  29.   Splitter1 = New Splitter(Me)
  30.   Splitter1.Expand = True
  31.   Splitter1.Spacing = True
  32.  
  33.   VBox1 = New VBox(Splitter1)
  34.   VBox1.Expand = True
  35.  
  36.   VBox2 = New VBox(Splitter1)
  37.   VBox2.Expand = True
  38.  
  39.   Label1 = New Label(VBox1)
  40.   Label1.Font.Bold = True
  41.   Label1.H = 28
  42.  
  43.   Label2 = New Label(VBox1)
  44.   Label2.Font.Bold = True
  45.   Label2.H = 28
  46.  
  47.   Label3 = New Label(VBox1)
  48.   Label3.Font.Bold = True
  49.   Label3.H = 28
  50.  
  51.   ColorChooser1 = New ColorChooser(VBox2) As "ColorChooser1"
  52.   ColorChooser1.Expand = True
  53.  
  54.   Splitter1.Layout = [40, 60]
  55.   ColorChooser1.Value = 28900000
  56.  



[Imagen: Colors.png]


RE: Código para usar un determinado color - YuHi - 20-02-2022

Gracias por sus atenciones, estudiaré las diferentes opciones, ya les comentaré como me fue.