|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando

-- Tutorial de iniciación a Autoit --

Volver al índice del tutorial

____________________________

57.- PixelSearch. Buscar donde está un pixel por su color.

- https://www.autoitscript.com/autoit3/docs/functions/PixelSearch.htm

- https://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm

- PixelSearch es una función que busca las coordenadas de un determinado pixel, según el color que estamos buscando.

$coordenadas = PixelSearch(0, 0, 600, 600, 0x0000ff, 1, 1, $hwnd)
MouseMove($coordenadas[0],$coordenadas[1])

- Esta función no es demasiado exacta y tiene fallos.

- En el ejemplo siguiente el ratón se deberá mover la una posición roja (0xff0000), luego a una verde (0x009900) y luego a una azul (0x0000ff).

_______________________________________________
1.- Creación de una zona gráfica. Dibujos.

- Para estudiarlo vamos a utilizar el gráfico que hemos visto en un tutorial anterior.

Gráficos en la pantalla.
			   
#include ColorConstants.au3>
#include GUIConstantsEx.au3>
     ; Juan A. Villalpando - KIO4.COM

    $Formulario = GUICreate("Gráficos", 600, 600)
    $zona_grafica = GUICtrlCreateGraphic(30, 70, 400, 400)
    GUICtrlSetBkColor($zona_grafica, $COLOR_YELLOW) ; Fondo amarillo.

    GUICtrlSetGraphic($zona_grafica, $GUI_GR_COLOR, 0xff0000, 0xff0000)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_PIE, 50, 50, 40, 30, 270) ; Tarta roja

    GUICtrlSetGraphic($zona_grafica, $GUI_GR_COLOR, 0x009900, 0x009900)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_PIE, 70, 150, 40, -60, 90) ; Tarta verde

    GUICtrlSetGraphic($zona_grafica, $GUI_GR_PENSIZE, 12)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_COLOR, 0x0000ff,0x0000ff)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_MOVE, 300, 300)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_LINE, 450, 450) ; Línea azul

    GUICtrlSetGraphic($zona_grafica, $GUI_GR_PENSIZE, 4)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_COLOR, 0x0000ff,0x0000ff)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_DOT, 200, 100) ; Punto azul

    GUICtrlSetGraphic($zona_grafica, $GUI_GR_PENSIZE, 6)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_COLOR, 0xff0000,0xff0000)
    GUICtrlSetGraphic($zona_grafica, $GUI_GR_ELLIPSE, 190, 450, 40, 40) ; Círculo rojo final

    Local $Etiqueta = GUICtrlCreateLabel("Texto sobre fondo rojo", 10, 10, 185, 17)
    Local $Boton1 = GUICtrlCreateButton("Cerrar el Formulario", 50, 500, 180, 40)

    ; Poner la Etiqueta con fondo ROJO y letras BLANCAS
    GUICtrlSetBkColor($Etiqueta, $COLOR_RED)
    GUICtrlSetColor($Etiqueta, $COLOR_WHITE)

    ; Muestra el Formulario
    GUISetState(@SW_SHOW, $Formulario)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    ; $hwnd = WinGetHandle("Gráficos", "") 
    $hwnd = WinGetHandle("[ACTIVE]") ; handle, es un identificador de la ventana
	$coordenadas = PixelSearch(0, 0, 600, 600, 0xff0000, 1, 1, $hwnd)
    MouseMove($coordenadas[0],$coordenadas[1])
    Sleep(2000)
    $coordenadas = PixelSearch(0, 0, 600, 600, 0x009900, 1, 1, $hwnd)
    MouseMove($coordenadas[0],$coordenadas[1])
    Sleep(2000)
	$coordenadas = PixelSearch(0, 0, 600, 600, 0x0000ff, 1, 1, $hwnd)
    MouseMove($coordenadas[0],$coordenadas[1])
    Sleep(2000)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    ; Bucle hasta que el usuario pulse el Boton1 para Salir.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE, $Boton1
                ExitLoop

        EndSwitch
    WEnd

    GUIDelete($Formulario) ; Borra el Formulario.

_____________________________________________________
2.- ImageSearch.

- Se utiliza para buscar una pequeña imagen dentro de una imagen mayor o del escritorio.

- Esta función no es demasiado exacta y falla bastante.

- Es necesario el archivo ImageSearch.au3 e incluirlo en la librería:

#include <ImageSearch.au3>

- También es necesario el archivo ImageSearchDLL.dll

- El archivo ImageSearch.au3 debemos copiarlo en la carpeta Include que se encutra en la carpeta instalade del AutoIt.

- El archivo ImageSearchDLL.dll lo copiamos en la carpeta C:\Windows\System32

- Los puedes bajar de esta dirección, aunque también puedes buscar una versión más actualizada:

https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=30140

- Aquí puedes ver un vídeo de esta función:

https://www.youtube.com/watch?v=lrc54kmVqjI

_______________________________________________

_________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información