Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/03/2010, 14:04
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 10 meses
Puntos: 29
Respuesta: Obtener color de pixel de la pantalla de windows???

No está muy claro lo que preguntas.
La sub la puedes usar cuando y como quieras. No necesitas un timer.
Puedes llamarla desde el mousemove o desde el click de cualquier objeto de tu formulario.
Solo tienes que renombrar la sub y usarla donde la necesites.
Aunque también se puede convertir en función y que devuelva el valor:
Nota: Las declaraciones de las funciones y la variable de tipo pointapi hay que copiarlas del mensaje anterior.

Código vb:
Ver original
  1. Private Function MiraColorPixel() As Long
  2.     Dim tPOS As POINTAPI
  3.     Dim lColor As Long
  4.     Dim lDC As Long
  5.     lDC = GetWindowDC(0)
  6.     Call GetCursorPos(tPOS)
  7.     MiraColorPixel = GetPixel(lDC, tPOS.X, tPOS.Y)
  8. End Function
2 Pictures. Cargamos una imagen en Picture1 y al pasar el ratón cambia el color de Picture2.

Código vb:
Ver original
  1. Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2.   Dim ColorPixel As Long
  3.   Dim sTmp As String
  4.   ColorPixel = MiraColorPixel
  5.   sTmp = Right$("000000" & Hex(ColorPixel), 6)
  6.   Me.Caption = "R:" & Right$(sTmp, 2) & " G:" & Mid$(sTmp, 3, 2) & " B:" & Left$(sTmp, 2)
  7.   Picture2.BackColor = ColorPixel
  8. End Sub

¿Es eso lo que quieres hacer?
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!