[..] Quand l'image n'est plus là ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

[..] Quand l'image n'est plus là ?

#1

Message par Jerome »

Coucou,

Je met le context en place :

J'ai une image, taille 500*500 par exemple et en .Bmp.

J'ai les cordonnées ou doit se trouver cette image.

Cette image est tout le temps active et présente.

Je voudrait savoir comment check que mon image n'est plus présente aux coordonnées que je lui ai données ?
Dans une boucle pour faire un check actif.






Jérôme
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..]Quand l'image n'est plus la ?

#2

Message par jbnh »

Salut,

Je pense qu'une solution serait de checker, a partir de la position initiale de l'image (disons x et y) plusieurs pixels de cette image.

Par exemple, x+50, y+50 - x+75,y+75,... et ce pour être sur d'avoir un résultat correct.

Cette manipulation peut être effectuée avec cette udf par exemple:

http://www.autoitscript.fr/forum/viewto ... =21&t=3507
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..]Quand l'image n'est plus la ?

#3

Message par Jerome »

Coucou,

J'avais songé à cette solution. ...
Le problème dans ta solution, c'est que cette image est assez grande et que je doit detecter si une autre image traverse la premiere.

Sauf que l'image traversante est plutôt petite.

Donc j'aurait vraiment besoin de check si l'image entière est la ou non....



Jérôme
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..]Quand l'image n'est plus la ?

#4

Message par sylvanie »

et pourquoi ne pas faire un PixelChecksum de référence au début sur l'image de base, puis relancé ce calcul à intervalle régulier ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..]Quand l'image n'est plus la ?

#5

Message par Jerome »

Coucou,


PixelCheckSum semble tout a fait adapter pour ce que je voudrait faire, mais je n'arrive pas à bien l'utiliser.

Pour le moment, sa fonctionne mais une seule fois si sa change.

Je voudrait garder en mémoire une zone de l'écran, et faire en sorte qu'a chaque fois que celle si change, on éxécute une action .


Si vous pouviez me donner ce qu'il faut avec l'exemple de la Doc que je remet si dessous :

Code : Tout sélectionner

; Wait until something changes in the region 0,0 to 50,50

; Get initial checksum
$checksum = PixelChecksum(0,0, 50,50)

; Wait for the region to change, the region is checked every 100ms to reduce CPU load
While $checksum = PixelChecksum(0,0, 50, 50)
  Sleep(100)
WEnd

MsgBox(0, "", "Something in the region has changed!")
 

Merci de votre aide.



Jérôme
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Quand l'image n'est plus là ?

#6

Message par sylvanie »

il vaut mieux passer par un adlibregister. comme ça on peut dédier le corps princupal du script à autre chose :
► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre