YuHi   20-02-2022, 05:40
#1
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?
Última modificación: 04-03-2022, 03:21 por YuHi.
Shordi   20-02-2022, 10:30
#2
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.

No podemos regresar
vuott   20-02-2022, 15:35
#3
(20-02-2022, 05:40)YuHi escribió: poner un color en forma hexagesimal

...de manera habitual:

[code]
Última modificación: 20-02-2022, 15:40 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
cogier   20-02-2022, 16:22
#4
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]
YuHi   20-02-2022, 18:33
#5
Gracias por sus atenciones, estudiaré las diferentes opciones, ya les comentaré como me fue.
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.