Shordi   01-11-2022, 22:21
#1
¿Alguien sabe cómo obtener el color de la barra de títulos de las ventanas del sistema?
Ese color se establece eligiendo el tema de Escritorio, pero ¿hay alguna manera de conocerlo desde consola o desde alguna clase estática de gambas?

Saludos

No podemos regresar
vuott   02-11-2022, 02:04
#2
Yo Confused creo que en Gambas solo puedes saber "a posteriori " (como diría nuestro excellentismo Cónsul romano, Shell  Smile ) el color de la barra simplemente conociendo uno de sus pixeles usando el Método "Desktop.Screenshot()" o el Método ".GetScreenshot()" de la Clase DesktopWindow , activando el Componente gb.desktop.x11.
Última modificación: 02-11-2022, 09:38 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)
Shordi   02-11-2022, 08:58
#3
Lo investigaré, Oh Consul dilecto! gracias por la pista dada.

Saludos

No podemos regresar
Shell   02-11-2022, 21:23
#4
(02-11-2022, 02:04)vuott escribió: Yo Confused creo que en Gambas solo puedes saber "a posteriori " (como diría nuestro excellentismo Cónsul romano, Shell  Smile ) el color de la barra simplemente conociendo uno de sus pixeles usando el Método "Desktop.Screenshot()" o el Método ".GetScreenshot()" de la Clase DesktopWindow , activando el Componente gb.desktop.x11.

"Olim, aut etiam. c'era una volta". Y para los modernos. Erase una vez. Rolleyes

Individual color values of a pixel?

Gianlugi dio la solución y el embajador Vuott cumplió su cometido.
Bajaros el ejemplo ya que es bastante curioso y muy sencillo. El código es a penas nada.

En el código se usa las coordenadas  del ratón para averiguar el valor RGB. Pero si le dices directamente el lugar
también se puede conseguir el mismo resultado.

"Vigilate et discite."

Código:
Public Sub GetPixelColor(x As Integer, y As Integer)

  Dim iColor As Integer

  Print "Mouse.X = "; Mouse.X
  Print "Mouse.Y = "; Mouse.Y
  iColor = PictureBox1.Picture.Image[x, y]
  Print "Current pixel color = "; iColor
  Print "Red  = "; Color[iColor].Red
  Print "Green = "; Color[iColor].Green
  Print "Blue = "; Color[iColor].Blue
Catch
  Print "ERROR"

End

Public Sub PictureBox1_MouseUp()

  GetPixelColor(Mouse.X, Mouse.Y)

End

Recordar que hace falta un picturebox con una imagen.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
tincho   02-11-2022, 22:32
#5
En el foro antiguo plantie el mismo tema pero no dimos con la solucion.
https://foro.gambas-es.org/viewtopic.php?f=5&t=5850

1 Saludo.
vuott   02-11-2022, 23:12
#6
(02-11-2022, 22:32)tincho escribió: En el foro antiguo plantie el mismo tema pero no dimos con la solucion.

Yo veo que razaAztk dio una solución similar a una  que en el presente debate yo he propuesto:

https://foro.gambas-es.org/show_post.php?p=34977

(02-11-2022, 21:23)Shell escribió: Gianlugi dio la solución

Pero yo  creo que la solución no es la solicitada por Shordi.
Última modificación: 02-11-2022, 23:42 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)
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.