Page 1 sur 1

[R] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 17:55
par Fabiolito
Bonjour , c'est quelque chose de dur a expliquer que je vais vous demander d'"élucider" mais bon , j’essaye quand même !

Donc , on m'a gentiment fait ce script ( merci ) :

Code : Tout sélectionner

#include <ScreenCapture.au3 >
#include <Misc.au3>

_MouseTrap(@DesktopWidth,@DesktopHeight);Bloque la souris en bas à droite (pour qu'elle ne soit pas sur le ScreenCapture)
_ScreenCapture_Capture( @MyDocumentsDir & "\GDIPlus_Image1.bmp" );Capture l'écran
_MouseTrap();Débloque la souris
SplashImageOn("Image",@MyDocumentsDir & "\GDIPlus_Image1.bmp",@DesktopWidth,@DesktopHeight,0,0,1);Affiche l'image
Donc voila , je continue , imaginons que pour chaque pixels de l'écran de mon ordinateur j'ai fait : Si le pixel est rouge alors cliquer , sinon continuer .

Ce que je voudrais c'est que l'utilisateur de mon logiciel puisse sur l'image sélectionner une zone et que mon logiciel continue à
faire "Si le pixel est rouge alors cliquer , sinon continuer ." mais uniquement dans la zone sélectionnée par l'utilisateur .


Voila , j'espère que vous avez compris :s

Merci d'avance .

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 17:59
par TT22
Fabiolito a écrit :Donc , on m'a gentiment fait ce script ( merci ) :
Mais de rien.

Bon sinon pour ton problème, ça servirait à quoi de cliquer sur les pixels rouges ?

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:04
par Fabiolito
Ben à une multitude de chose ! Le pixel rouge n'est qu'un exemple , ce que je veux c'est que l'utilisateur puisse réduire la zone de recherche pour éviter que le logiciel clique sur quelque chose qui n'a aucun rapport !

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:09
par TT22
En gros, ça sert à rechercher des pixels sur une zone prédéfinie par l'utilisateur ?

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:10
par Fabiolito
Voila , c'est ça .

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:18
par TT22
Je pense que ce qu'il te faut, c'est "PixelSearch"

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:23
par Fabiolito
Oui j'ai fait ça pour tout les pixels de mon écran , mais le problème c'est que si il y a quelque chose de la même couleur que le pixel que je cherche et alors y'a tout qui va raté :s . C'est pour ça qu'il faudrait que l'utilisateur sélectionne la zone dans laquelle il y a le plus de chance que le pixel se trouve .

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:38
par TT22
Tien, voilà ce qu'il te faut :
► Afficher le texte
Après tu pourra peut-être rajouter une GUI pour sélectionner le carré en le dessinant sur l'image (ça je sais pas faire) et que l'on puisse choisir la couleur du pixel.

Donc, bonne chance :mrgreen:

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:49
par Fabiolito
Ca m'aide déjà bien ça ! Quand tu dis une marge d'erreur de 10 , c'est à dire au 10 pixels près ?

Merci pour ton script :p

Et sinon , il y a pas un moyen pour que l'utilisateur dessine un carré sur ma photo et qu'on lui donne sa taille et sa position ?

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:55
par TT22
Non, c'est à dire que le code du rouge c'est : 0xFF0000 , avec une marge de 10, il va accepter tout ce qu'il y à entre 0xFF0000 et 0xFF0010
Pour les codes,va voir ici
T'a juste à enlever le # et à mettre 0x devant.

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:55
par Fabiolito
Aok , et sinon ya une option pour ce que j'ai demandé ? Au 10pixels près ?

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 18:59
par TT22
Fabiolito a écrit :Et sinon , il y a pas un moyen pour que l'utilisateur dessine un carré sur ma photo et qu'on lui donne sa taille et sa position ?
Y'en a surement un, mais c'est pas à moi qu'il faut demander :mrgreen: .

Sinon pour ton truc "Au 10pixels près" je comprend pas très bien, ça veut dire cliquer sur les pixels autour dans un rayon de 10 pixels ?

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 19:03
par Fabiolito
Oui , comme je suis fainéant ( x] ) je vais pas faire tous les pixels , j'aimerai plutôt faire ça par zone de pixel .

Par exemple au lieu de chercher uniquement sur le pixel 600,300 le pixel rouge j'aimerai qu'il le fasse en un seul coup des pixel 600,300 aux pixels 610,300 .

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 19:18
par TT22
Donc quelque chose comme-ça :

Code : Tout sélectionner

$pixel1 = PixelSearch( 50, 30, 200, 300, 0xFF0000 ); Cherche un pixel rouge dans un carré de 200 X 300 pixels positionné à 50 pixels en partant de la gauche et 30 pixels en partant du haut.
If Not @error Then; Si le pixel est trouvé alors...
   MouseClick("left",$pixel1[0] , $pixel1[1]); ...clique dessus.
EndIf

$pixel2 = PixelSearch( 50, 30, 200, 300, 0xFF0000, 10 ); Cherche un pixel rouge (avec une marge d'erreur de 10) dans un carré de 200 X 300 pixels positionné à 50 pixels en partant de la gauche et 30 pixels en partant du haut.
If Not @error Then; Si le pixel est trouvé alors...
    MouseClick("left",$pixel2[0] , $pixel2[1]); ...clique dessus.
EndIf

While 1; Démarre une boucle.
PixelSearch($pixel1[0] , $pixel1[1],$pixel1[0]+10 , $pixel1[1],0xFF0000); Cherche si il y a un autre pixel rouge parmis les 10 suivants.
If Not @error Then; Si le pixel est trouvé alors...
   MouseClick("left",$pixel1[0] , $pixel1[1]); ...clique dessus.
EndIf

If @error Then; Si le pixel n'est pas trouvé alors...
ExitLoop; ...on quitte le script.
EndIf

WEnd; Retoure au début du script.
Exit; Quitte le script.
Fabiolito a écrit : comme je suis fainéant ( x] )
Moi aussi, on me l'a beaucoup repproché :mrgreen:

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 19:22
par Fabiolito
Oé , ça m'a l'air d'être ça . Merci :p

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 19:28
par Fabiolito
Mais , je peux pas mettre directement cette partie :
► Afficher le texte
Et enlever celle-la :
► Afficher le texte
???

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 20:04
par TT22
Bien sur que tu peux. enfait j'ai repris l'exemple de l'aide que j'ai légèrement modifier.
► Afficher le textevoir l'exemple de l'aide

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 20:06
par Fabiolito
Ok , merci . Maintenant j'ai plus qu'a attendre que quelque me dise comment sélectionner une partie de mon image !

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 20:09
par TT22
Ouai, mais à mon avis, tu devrais faire un nouveau sujet. En attendant, je vais chercher un peut.

Re: [..] Sélèction d'une zone de clique

Posté : mar. 28 juin 2011 20:10
par Fabiolito
Ok , merci alors je met un petit [R] dans mon titre et je recrée un sujet ou je repose ma question en mieux expliqué ?