Cómo obtener colores rápidamente en VB
Función de declaración privada GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal hdc As Long, ByVal y As Long) As Long
Función de declaración privada GetCursorPos Lib "user32" (lpPoint As ByVal x As Long, ByVal y As Long) As Long
Función de declaración privada GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Largo
Tipo privado POINTAPI
x As Largo
y As Largo
Tipo final
Función de declaración privada ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Dim pt As POINTAPI
Private Sub Form_Load()
Timer1. Intervalo = 50
End Sub
Private Sub Timer1_Timer()
Atenuar hdc mientras dure, Col mientras dure
Atenuar R mientras dure , g Mientras tanto, b Mientras tanto
hdc = GetDC(0)
GetCursorPos pt
cor = GetPixel(hdc, pt.x, pt. y )
GetRGB cor, R, g, b
ReleaseDC Me.hwnd, hdc
Text1.Text = "R: " & R & " G: " & g & " B. " & b
GetRGB cor: " & b
End Sub
Private Sub GetRGB(ByVal Col As Long, ByRef R Mientras, ByRef g Mientras, ByRef b Mientras)
R = Col Mod 256
g = ((Col And &HFF00&)\ 256& ) Mod 256&
b = (Col And &HFF0000)\ 65536
End Sub
No se ejecutará muy lentamente. No ocupa demasiada CPU.
No funcionará muy lentamente.