Bonsoir,
J'airais besoin de votre aides s'il vous plait:
Je souhaite comparer les positions relative de deux image: savoir si une image trouvée est plus à gauche ou plus à droite de la deuxième image trouvée.
Pour ce faire j'ai créé deux variables de position, deux recherche d'images avec renvoi de la position vers les variables respectives.
J'aimerais ensuite comparer les coordonnées de ces deux images (en x notamment).
Est-il possible à partir de la variable position d'extraire la valeur de x (coordonnées horizontale) sous forme de valeur? Ceci afin de les comparer dans une variable conditionnelle.
Merci d'avance pour votre aide.
Cordialement
Comparer la position de deux images
Re: Comparer la position de deux images
Salut,
J'ai déplacé le sujet dans la bonne section (Actionaz 3 - Aide).
En code, tu peux donc accéder à x et y avec monPoint.x et monPoint.y.
J'ai déplacé le sujet dans la bonne section (Actionaz 3 - Aide).
Oui, il s'agit de variables de type Point : http://wiki.actionaz.org/doku.php?id=fr:code:core:pointEst-il possible à partir de la variable position d'extraire la valeur de x (coordonnées horizontale) sous forme de valeur? Ceci afin de les comparer dans une variable conditionnelle.
En code, tu peux donc accéder à x et y avec monPoint.x et monPoint.y.
"My software never has bugs. It just develops random features."
Re: Comparer la position de deux images
Bonjour,
Merci pour votre réponse. Je n'y connais pas grand chose en code. Concrètement que faut-il que j'écrive dans le code svp?
Ma variable de position image est par exemple Point [x: 232][y: 585].
j'aimerais obtenir une variable X égale à 232 (pour cet exemple) et une variable Y égale à 585.
Merci beaucoup par avance.
Merci pour votre réponse. Je n'y connais pas grand chose en code. Concrètement que faut-il que j'écrive dans le code svp?
Ma variable de position image est par exemple Point [x: 232][y: 585].
j'aimerais obtenir une variable X égale à 232 (pour cet exemple) et une variable Y égale à 585.
Merci beaucoup par avance.
Re: Comparer la position de deux images
Voilà un exemple : (Fichier->Importer->Contenu du script)
Par contre pour la comparaison tu ne pourras pas utiliser l'action condition de variable directement vu qu'il s'agit d'un type complexe. (par comparaison avec un type simple : nombre ou chaîne de caractères)
Tu as donc deux solutions possibles pour la comparaison :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/>
<actions>
<action name="ActionMessageBox" version="1.0.0"/>
<action name="ActionVariable" version="1.0.0"/>
<action name="ActionCode" version="1.0.0"/>
</actions>
<parameters/>
<resources/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionVariable" comment="Création de la variable">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">p</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">position</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="unit" code="0">0</subParameter>
<subParameter name="value" code="0">42:42</subParameter>
</parameter>
</action>
<action name="ActionCode" comment="Modification des valeurs de x et y">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="code">
<subParameter name="value" code="1">p.x = 232
p.y = 585</subParameter>
</parameter>
</action>
<action name="ActionMessageBox" comment="Affichage">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">$p</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">none</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
</script>
</scriptfile>
Tu as donc deux solutions possibles pour la comparaison :
- Créer des variables intermédiaires, par exemple :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?> <scriptfile> <settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/> <actions> <action name="ActionMessageBox" version="1.0.0"/> <action name="ActionVariable" version="1.0.0"/> </actions> <parameters/> <resources/> <script pauseBefore="0" pauseAfter="0"> <action name="ActionVariable" comment="Création de p1"> <exception id="0" action="0" line=""/> <exception id="1" action="0" line=""/> <exception id="2" action="1" line=""/> <exception id="32" action="0" line=""/> <parameter name="colorValue"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="variable"> <subParameter name="value" code="0">p1</subParameter> </parameter> <parameter name="positionValue"> <subParameter name="unit" code="0">0</subParameter> <subParameter name="value" code="0">232:585</subParameter> </parameter> <parameter name="value"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="type"> <subParameter name="value" code="0">position</subParameter> </parameter> </action> <action name="ActionVariable" comment="p1x = p1.x"> <exception id="0" action="0" line=""/> <exception id="1" action="0" line=""/> <exception id="2" action="1" line=""/> <exception id="32" action="0" line=""/> <parameter name="colorValue"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="variable"> <subParameter name="value" code="0">p1x</subParameter> </parameter> <parameter name="type"> <subParameter name="value" code="0">float</subParameter> </parameter> <parameter name="value"> <subParameter name="value" code="1">p1.x</subParameter> </parameter> <parameter name="positionValue"> <subParameter name="unit" code="0">0</subParameter> <subParameter name="value" code="0"></subParameter> </parameter> </action> <action name="ActionMessageBox"> <exception id="0" action="0" line=""/> <exception id="1" action="0" line=""/> <exception id="2" action="1" line=""/> <parameter name="windowIcon"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="message"> <subParameter name="value" code="0">$p1x</subParameter> </parameter> <parameter name="title"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="textMode"> <subParameter name="value" code="0">automatic</subParameter> </parameter> <parameter name="ifYes"> <subParameter name="line" code="0"></subParameter> <subParameter name="action" code="0">do_nothing</subParameter> </parameter> <parameter name="customIcon"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="icon"> <subParameter name="value" code="0">none</subParameter> </parameter> <parameter name="type"> <subParameter name="value" code="0">ok</subParameter> </parameter> <parameter name="ifNo"> <subParameter name="line" code="0"></subParameter> <subParameter name="action" code="0">do_nothing</subParameter> </parameter> </action> </script> </scriptfile>
- Utiliser un bout de code :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?> <scriptfile> <settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/> <actions> <action name="ActionStop" version="1.0.0"/> <action name="ActionVariable" version="1.0.0"/> <action name="ActionCode" version="1.0.0"/> </actions> <parameters/> <resources/> <script pauseBefore="0" pauseAfter="0"> <action name="ActionVariable" comment="Création de p1"> <exception id="0" action="0" line=""/> <exception id="1" action="0" line=""/> <exception id="2" action="1" line=""/> <exception id="32" action="0" line=""/> <parameter name="colorValue"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="variable"> <subParameter name="value" code="0">p1</subParameter> </parameter> <parameter name="positionValue"> <subParameter name="unit" code="0">0</subParameter> <subParameter name="value" code="0">232:585</subParameter> </parameter> <parameter name="value"> <subParameter name="value" code="0"></subParameter> </parameter> <parameter name="type"> <subParameter name="value" code="0">position</subParameter> </parameter> </action> <action name="ActionCode"> <exception id="0" action="0" line=""/> <exception id="1" action="0" line=""/> <exception id="2" action="1" line=""/> <parameter name="code"> <subParameter name="value" code="1">if(p1.x > 300) Script.nextLine = 1 else Script.nextLine = "stop"</subParameter> </parameter> </action> <action name="ActionStop" label="stop"> <exception id="0" action="0" line=""/> <exception id="1" action="0" line=""/> <exception id="2" action="1" line=""/> </action> </script> </scriptfile>
"My software never has bugs. It just develops random features."
Re: Comparer la position de deux images
Merci beaucoup pour votre aide. J'ai enfin réussi à faire ce que je voulais. Actionaz est un outil génial.