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/forum-3.html)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html)
+--- Tema: SOLUCIONADO Código para usar un determinado color (/thread-830.html)



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.

Código:
dim miPanel as panel

Dialog.SelectColor()
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:

[code]


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. 

Código:
VBox1 As VBox
VBox2 As VBox
Splitter1 As Splitter
Label1 As Label
Label2 As Label
Label3 As Label
ColorChooser1 As ColorChooser

Public Sub ColorChooser1_Change()

  Dim hColorInfo As ColorInfo

  Me.Background = ColorChooser1.Value
  hColorInfo = Color[ColorChooser1.Value]

  Label1.Text = "Me.Background = " & Str(ColorChooser1.Value)
  Label2.Text = "Me.Background = &h" & Str(Hex(ColorChooser1.Value))
  Label3.Text = "Me.Background = Color.RGB(" & Str(hColorInfo.Red) & "," & Str(hColorInfo.Green) & "," & Str(hColorInfo.Blue) & ")"

End

Public Sub Form_Open()

  Me.H = 400
  Me.W = 800
  Me.Arrangement = Arrange.Vertical
  Me.Padding = 5
  Me.Text = "Color"

  Splitter1 = New Splitter(Me)
  Splitter1.Expand = True
  Splitter1.Spacing = True

  VBox1 = New VBox(Splitter1)
  VBox1.Expand = True

  VBox2 = New VBox(Splitter1)
  VBox2.Expand = True

  Label1 = New Label(VBox1)
  Label1.Font.Bold = True
  Label1.H = 28

  Label2 = New Label(VBox1)
  Label2.Font.Bold = True
  Label2.H = 28

  Label3 = New Label(VBox1)
  Label3.Font.Bold = True
  Label3.H = 28

  ColorChooser1 = New ColorChooser(VBox2) As "ColorChooser1"
  ColorChooser1.Expand = True

  Splitter1.Layout = [40, 60]
  ColorChooser1.Value = 28900000

End

[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.