Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo obtener colores rápidamente en VB

Cómo obtener colores rápidamente en VB

Función de declaración privada GetDC Lib "user32" (ByVal hwnd As Long) As Long

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.