La fonction la plus simple permet de trouver le pixel d'une couleur donnée - comme PixelSearch - mais au lieu de renvoyer le 1er trouvé, il retourne le plus proche d'un point donné.
Ca permet d'aller bien plus loin :
- recherche du 'spot' le plus proche (carré de NxN contenant au moins P pixels respectant les critères de couleur mentionnés)
- gère une liste contenant jusqu'à 1024 couleurs (recherche les pixels ayant l'une des couleurs dans cette liste)
- gère jusqu'à 1024 rectangles d'exclusion. On peut ainsi définir très précisément la zone de recherche que l'on veut (avec un rectangle global auquel se substituent tous les rectangles d'exclusion).
- possibilité d'avoir un 'shade variation' (même principe qu'avec PixelSearch, pris en compte sur chacune des couleurs).
- permet de travailler sur plusieurs 'SnapShots' (captures) en mémoire. Il est possible de conserver jusqu'à 1024 captures simultanément (bien entendu, chaque capture consomme de la mémoire, aussi n'utilisez que les "slots" dont vous avez besoin).
- fonctionne sur tout l'écran ou en précisant un handle de fenêtre.
- inclut également des fonctions pour identifier ce qui change entre deux SnapShots (rectangle minimum contenant tous les changements + nombre de pixels différents). Pratique pour détecter les mouvements à l'écran, les objets qui changent d'état...
- un système de traces assez sophistiqué est inclus dans cet UDF. Vous pouvez choisir le type de traces que vous voulez, avec notamment la possibilité de visualiser à l'écran les zones détectées (pratique en cours de développement) et enregistrer le détail des opérations dans un fichier de traces.
- pour encore plus de performance, vous pouvez capturer le contenu d'un écran en mémoire (SnapShot, prend environ le même temps qu'un PixelSearch ou un PixelGetColor) puis effectuer toutes les recherches que vous voulez dans cette capture (fonctions très rapides).
Sont inclus dans l'archive la dll (écrite en Visual C++ 2010), le Wrapper AutoIt, et une démonstration.