Comparer la position de deux images

Vous voulez de l'aide ? Postez ici :)
Post Reply
JUSKATOI
Posts: 3
Joined: 15 Mar 2014, 22:37

Comparer la position de deux images

Post by JUSKATOI »

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
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: Comparer la position de deux images

Post by Jmgr »

Salut,

J'ai déplacé le sujet dans la bonne section (Actionaz 3 - Aide).
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.
Oui, il s'agit de variables de type Point : http://wiki.actionaz.org/doku.php?id=fr:code:core:point
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."
JUSKATOI
Posts: 3
Joined: 15 Mar 2014, 22:37

Re: Comparer la position de deux images

Post by JUSKATOI »

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.
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: Comparer la position de deux images

Post by Jmgr »

Voilà un exemple : (Fichier->Importer->Contenu du script)

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>
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 :
  • 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."
JUSKATOI
Posts: 3
Joined: 15 Mar 2014, 22:37

Re: Comparer la position de deux images

Post by JUSKATOI »

Merci beaucoup pour votre aide. J'ai enfin réussi à faire ce que je voulais. Actionaz est un outil génial.
Post Reply