Positionner une image automatiquement

chazot shared this question 8 years ago
Answered

Bonjour,


Je reprends un ancien post qui correspond a ce que je cherche....

Je cite:

"

Je souhaiterais que l'utilisateur puisse insérer lui-même une image (depuis un fichier) et que d'un clic sur un bouton, cette image se positionne sur deux coins ; des points qu'il peut alors déplacer facilement pour positionner et dimensionner l'image.

J'ai essayé :

Coin1 = Coin[Image, 1]

Mais évidemment, c'est inverse qui se passe : Coin1 vient se placer dans le coin 1 de l'image.

Je cherche donc un script qui me permette de modifier la propriété "Coin 1" de l'image.


Merci d'avance pour votre aide."


Gilles

Comments (5)

photo
1

Effectivement,


lorsque je fais un glisser déposer, ou "menu / insérer image", j'obtiens 2 coins connus A=Coin1 et B=Coin2

Par contre lorsque j'utilise l’icône insérer une image, je n'ai plus les deux coins.


En utilisant SoitCoordonnées, j'arrive effectivement a redimensionner et a positionner l'image.

Si je change la largeur (AB), alors la hauteur est redimensionner proportionnellement. C'est plutôt un bonne chose, sauf si les imperfections de l'image importée font qu'il faut retoucher la hauteur.


Peut on associer le coin4 a un point D (par exemple), de façon a pouvoir changer la hauteur, sans changer la largeur?.


Bien vu pour "SoitCoordonnées".

Merci!


Cordialement Gilles

photo
1

Manuellement je sais faire...

En ligne de commande, Comment doit on s'y prendre?


J'ai essayé avec Coin, mais le point ne reste pas fixé à l'image (et donc la taille de l'image ne change pas.

Cordialement

Gilles

photo
1

Oui, comme cela cela fonctionne, mais je suis obliger d' affecter manuellement le point M comme coin4.

Si tu as d'autres idées, je suis toujours preneur.


Merci

Cordialement

Gilles

photo
1

Bonjour, sinon on peut sortir la "grosse artillerie" du javascript suivant, qui n'utilise comme seule variable, que le nom de l'image : image1.

Ne pas s'effrayer de la fonction soitProprieteXml, tout est dans son application, à la fin.

number "0" correspond au coin 1; "1" au coin 2 et "3" au coin 4.

    function soitProprieteXml(obj, prop) {

    var nom = prop.substr(1, prop.indexOf(' ') - 1);

    var xml = ggbApplet.getXML(obj);

    var ligne = xml.split("\n");

    var xmlDef = '';

    for (var i = 0; i < ligne.length; i++) {

    if (ligne.indexOf('<' + nom) !== -1)

    xmlDef += prop + "\n";

    else

    xmlDef += ligne + "\n"; }

    ggbApplet.evalXML(xmlDef);

    }

    soitProprieteXml('image1','<startPoint number="0" exp="(1,1)"/>');

    soitProprieteXml('image1','<startPoint number="1" exp="(5,1)"/>');

    soitProprieteXml('image1','<startPoint number="2" exp="(1,3)"/>');

    ggbApplet.refreshViews()

https://ggbm.at/565197

photo
1

Alors la, je suis assis!


C'est exactement ce que je voulais!

J 'ai remplacé les coordonnés fixes dans le script par des points définis au préalable.

En changeant si besoin ces derniers, je peux modifier la taille de l'image.


Merci miir, je salut ce forum pour les réponses pertinentes.

Géogébra va beaucoup apporter pour l' apprentissage de la géométrie au collège!


Cordialement

Gilles

© 2022 International GeoGebra Institute