Red de conocimiento informático - Material del sitio web - Cómo usar VB para buscar y encontrar colores dentro de un rango específico...Código fuente

Cómo usar VB para buscar y encontrar colores dentro de un rango específico...Código fuente

El siguiente es un ejemplo de búsqueda de color en la pantalla. Verifíquelo según la situación real.

La opción explícita

define un POINTAPI.

El tipo privado POINTAPI

x es tan largo como

Siempre que

el tipo final

defina un Área de búsqueda de colores.

RECT privado

El lado izquierdo es la coordenada del área larga x

"La parte superior tiene la misma longitud" coordenada del área y

"Derecha y así sucesivamente Ancho del área "larga"

Altura del área "tan larga como la inferior"

Tipo final

Declaración API de Windows

La función de declaración privada GetCursorPos Lib "usuario 32" (punto LP como POINTAPI) es larga

declara de forma privada la función GetDC Lib "usuario 32" (ByVal hWnd As Long) es larga

declara de forma privada la función GetPixel Lib "gdi32" (ByVal hDC es Long, ByVal x es Long, ByVal y es Long) Pruebe la función de color para Long y devuelva la posición de las coordenadas según el valor de cualquier área de búsqueda de color en la pantalla.

Función privada ifColor (x es RECT, ByVal es Long) es POINTAPI

Continuar con el siguiente paso cuando ocurre un error

Dim nTmpColor tiene la misma longitud , I tiene la misma longitud, j Misma longitud

Para i = x.Left a x.Left + x.Right

Para j = x.Top a x.Top + x .Bottom

nTmpColor = GetPixel(GetDC(0), I, j)

Si color = nTmpColor, entonces

ifColor.x = i

ifColor.y = j

Salir de la función

Terminará si...

Varias actividades

Entonces

Entonces

p>

Finalizar función

Subcomando privado1_Click()' La búsqueda en color en pantalla completa lleva mucho tiempo.

La dimensión t es el punto API, m es RECT

con m

. Arriba = 0

. izquierda = 0

. abajo = pantalla. altura/pantalla. TwipsPorPixelY

. derecha = pantalla. ancho/pantalla. TwipsPerPixelX

Termina con...

t = ifColor(m, 1447073)

Depurar. Imprimir hora, fecha

Fin de empalmes

Subcomando privado2_Click()' Dedique menos tiempo a buscar colores en un área.

La dimensión t es el punto API, m es RECT

con m

. Arriba = 300

. Izquierda = 300

. Abajo = 100

. right = 100

Termina con...

t = ifColor(m, RGB(0, 125, 125))

Depurar. Imprimir hora, fecha

Conector final