REDIMENSIONNER UNE IMAGE EN CONSERVANT LES PROPORTIONS

crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010 - 7 juin 2005 à 14:03
7sme Messages postés 1 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 15 avril 2009 - 15 avril 2009 à 17:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31635-redimensionner-une-image-en-conservant-les-proportions

7sme Messages postés 1 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 15 avril 2009
15 avril 2009 à 17:02
y a t il moyen de l avoir en .fla (avec une image exemple svp)
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 janv. 2009 à 17:00
euh, et pour charger n'importe quelle image dans un clip en lui donnant la dimension du clip (étirement genre image = 600x800, affichée étirée dans un clip de 1024x768)?
manoloz Messages postés 26 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 27 septembre 2006
16 août 2005 à 17:24
C'est quoi ton code? est-ce que tu utilise bien la fonction onLoadInit?
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
11 août 2005 à 04:01
Chez le redimensionnement par en live complet, je cherche à redimensionner des images "chargées" à partir d'un fichier XML. Résultat, ca ressemble à rien, les échelles sont éronnées, les tailles aussi, bref mon code est pourtant pas bien complexe...
TragiKomiX Messages postés 15 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 18 avril 2006
18 juin 2005 à 20:31
C'est bon pour moi, même sur le net (j'avais mis l'extension en majuscule)
Merci encore pour les conseils précieux
:) :) :)
manoloz Messages postés 26 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 27 septembre 2006
18 juin 2005 à 13:05
Merci à crackter,
en effet j'ai utilisé ce code pour dedimensionner des images une fois chargées par un movieClipLoader, ça marche très bien en local comme sur le net si c'est écrit proprement car dans tous les cas la redimension se fait seulement quand est lancée la fonction onLoadInit, donc automatiquement après le chargement
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
15 juin 2005 à 12:35
Content d'avoir pu vous aider :). Ca fait plaisir de se sentir utile =).
ALF1998 Messages postés 1 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 14 juin 2005
14 juin 2005 à 21:36
Je tenais à te remercier CRACKTER pour ton aide. Super ca marche bien en local que sur un site.

PS: petit correction : "_y=100;" par "fond._y=100;"
TragiKomiX Messages postés 15 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 18 avril 2006
10 juin 2005 à 20:15
Yop :)
Au premier jet, cela ne fonctionne pas sur le net, je vais tenter quelques manip. voir si cela peux s'améliorer. En tous cas, merci de ton aide précieuse, j'ai ainsi pu éviter quelques heures de recherches fastidieuses. Maintenant, hop, vive les tests. Le code étant bon en local il n'y a pas de raison qu'il ne veuille pas fonctionner sur le net.

Merci encore :)
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
10 juin 2005 à 14:29
une petite correction à mon code (mais je pensais que tu allais la faire seul :) :

createEmptyMovieClip("fond",100); // Le clip qui va contenir l'image
my_mcl=new MovieClipLoader(); // Le MovieClipLoader
my_mcl.loadClip("tete.jpg",fond); // On charge l'image dans le McL
my_mcl.onLoadInit=function() { // La fonction qui attend la fin du
fond._height=200;fond._width=300; // chargement de l'image
fond._x=100;_y=100;
}

Ton code ne marchera malheureusement pas sur un site non local car comme dit précédemment, le chargement influ sur la capacité à rédimensionner l'image (il sait où positionner le clip, mais il ne sait pas quoi redimensionner vue que l'image n'est toujours pas chargé).
TragiKomiX Messages postés 15 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 18 avril 2006
10 juin 2005 à 14:14
Ton code est bon, mais il efface le swf dans lequel est chargée l'image
Sinon taille et positionnement sont bons :)
Je peux même réduire le code à :

_root.createEmptyMovieClip("conteneur",1);
_height=240;_width=350;_x=160;_y=190;
conteneur.loadMovie("LPP.jpg");

je ne crois donc pas que cela dû soit au temps de chargement de l'image (koike que j'ai fait mon test en local)
Le code ci-dessus fonctionne mais efface le fond :( :(
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
10 juin 2005 à 13:49
Un petit plus, attention, car le MovieClipLoader peut gérer plusieurs chargement à la fois et enverra bien des onLoadInit à chacune des fins de téléchargements des différentes images. Donc à tester si le redimensionnement se fait bien correctement apres chaque loadinit ou s'il faut attendre un "loadinit" final.
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
10 juin 2005 à 13:47
Le fait que le redimensionnement ne se fasse pas à première vue est qu'en fait l'image n'a pas le temps de se charger assez vite et qu'il ne sait pas quoi redimensionner. Pour palier à ça, j'ai créé un MovieClipLoader qui gère et permet de faire une action lorsque l'image chargé peut être redimensionné :

createEmptyMovieClip("fond",100); // Le clip qui va contenir l'image
my_mcl=new MovieClipLoader(); // Le MovieClipLoader
my_mcl.loadClip("tete.jpg",fond); // On charge l'image dans le McL
my_mcl.onLoadInit=function() { // La fonction qui attend la fin du
_height=200;_width=300; // chargement de l'image
_x=100;_y=100;
}

Voilà j'espère que ça t'aidera.
TragiKomiX Messages postés 15 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 18 avril 2006
10 juin 2005 à 13:09
Yop, le retour :), merci Crackter c'est sympa de donner des réponses aussi rapides car c'est désagréable d'être bloqué dans le développement par un truc comme ça.

Le positionnement de l'image dans le swf fonctionne à merveille, par contre je n'arrives toujours pas à modifier les dimensions du fichier inséré

root.createEmptyMovieClip("conteneur",1);
conteneur.loadMovie("LPP.jpg");
conteneur._height = 250;
conteneur._width = 350;
conteneur._x = 350;
conteneur._y = 320;
//Dans ce cas là, l'insertion se fait, le positionnement aussi mais pas le redimensionnement...
//C'est ce cas qui m'interresse le plus car je n'ai à modifier qu'une seule fois le nom du
// fichier à charger.

//loadMovieNum("LPP.jpg",5);
//LPP.jpg._height = 250;
//LPP.jpg._width = 350;
//LPP.jpg._x = 350;
//LPP.jpg._y = 320;
//Dans ce cas ci, l'insertion se fait, mais pas le positionnement et le redimensionnement...
//Si cela ne doit fonctionner que sur celui-ci n'est pas grave non plus :) :)

J'ai certainement zappé quelque chose dans l'intitulé : "LPP.jpg._xxx" semble trop simple :)

Si tu avais une idée sur l'erreur que j'ai commise...

A plus dans le bus

TragiKomiX
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
9 juin 2005 à 14:20
là aussi c'est pareil pour le positionnement :

conteneur._x = position_gauche;
conteneur._y = position_haut;
TragiKomiX Messages postés 15 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 18 avril 2006
9 juin 2005 à 12:32
Yop, c'est une réponse rapide ça :)
Cool je testerais les différentes possibilités.
Me reste plus que le positionnement dans l'anim de base

A pluche
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
9 juin 2005 à 04:12
conteneur._height = hauteur;
conteneur._width = longueur;

après je sais plus si c'est le conteneur clip que tu dois modifier ou le clip chargé, à tester c'est l'un ou l'autre :).
TragiKomiX Messages postés 15 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 18 avril 2006
9 juin 2005 à 03:34
Salut, je cherche justement un bout de code pour charger une image *.jpg dans une animation flash, en la redimensionnant et la positionnant au pixel près, j'arrive à la charger avec loadMovie, j'arrive aussi à la redimensionner mais en proportion uniquement:
_root.createEmptyMovieClip("conteneur",1);
conteneur.loadMovie("LPP.jpg");
conteneur._xscale /= 3;
conteneur._yscale /= 3;
Si vous avez une idée, n'hésitez pas :o)

A pluche
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
7 juin 2005 à 14:03
y'a moyen de réduire encore le code mais bravo, c'est ce genre de code qui font avancer le chmilblik :).
Rejoignez-nous