REDIMENSIONNEMENT PROPORTIONNEL D'UNE IMAGE

Nix Messages postés 831 Date d'inscription samedi 15 mai 1999 Statut Membre Dernière intervention 18 juillet 2009 - 14 avril 2009 à 17:50
mariemmartine Messages postés 2 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 3 mai 2011 - 29 avril 2011 à 15:57
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/49829-redimensionnement-proportionnel-d-une-image

mariemmartine Messages postés 2 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 3 mai 2011
29 avril 2011 à 15:57
Génial !!!! Je recherchais ça depuis un moment.. c'est super!! Fini la galère! Merci beaucoup et bon boulot.
benitocom Messages postés 1 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 9 mars 2010
9 mars 2010 à 12:43
Bonjour,

je souhaite utiliser ce code pour mettre une image en background dans du html.

j'ai mis le tout dans une div qui me sert de contenu et de ce fait plusieurs div a l'intérieur qui servent pour mes menus et mes images.
Sa marche très bien dans safari par exemple mais dans firefox ou opera l'image de fond n'apparait pas ou alors elle est coupé??

Auriez vous une solution à mon problème ou pour poser la question différament, Comment utiliser correctement ce code epour mettre l'image en background dans du html et pouvoir y rajouter tableau ou div par dessus sans que eux ne soient redimenssionés ?

Merci
patrijks Messages postés 1 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 mars 2010
3 mars 2010 à 17:53
hello,
conflit avec le redimensionnement de mon fond qui utilise Stage.align = "TL" et ce code, car du coup les clips ne se positionnent pas correctement... merci pour votre aide ;)
DeYeR Messages postés 11 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2010
17 févr. 2010 à 15:24
J'ai essayé cette méthode avec le swf principal, et même avec ceux que je charge par dessus, mais ils se centre alors sur la scène du swf principal, donc à gauche :(
et ça donne ça pour l'instant : http://www.deyer-studio.com/caviar
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
16 févr. 2010 à 17:15
monClip.x = stage.stageWidth / 2;
DeYeR Messages postés 11 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2010
16 févr. 2010 à 16:50
? mais comment je peut centrer manuellement mes clips dans le navigateur, alors que ma scène est en haut à gauche, quand je charge un swf il se place par rapport et dans ma scène, j'ai mis ce que ça donne sur le même lien, la zone opaque correspond à l'intégralité de ma scène :

http://www.deyer-studio.com/divers

... en tout cas déja merci de prendre le temps de m'avoir répondu si vite :)
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
16 févr. 2010 à 16:16
Oui c'est cela et après il faut repositionner manuellement tes clips lors de la redimension de la fenetre.
DeYeR Messages postés 11 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2010
16 févr. 2010 à 16:08
C'est ce que j'avais fait au début, j'ai alors effectivement mon image de fond bien étendu dans tout le navigateur ... mais ma scène n'est plus centré mais à gauche dans le navigateur :S
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
16 févr. 2010 à 15:56
stage.align = StageAlign.TOP_LEFT;

:-)
DeYeR Messages postés 11 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2010
16 févr. 2010 à 15:30
Désolé, j'ai encore un petit soucis d'adaptation, depuis tout à l'heure j'essaie de faire en sorte d'avoir ma scène centré dans le navigateur et j'ai un petit problème ...
j'arrive assez simplement à centrer ma scène, via ce code :

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP;

cependant l'image étiré du fond s'arrête (ou commence) sur la gauche de la scène et ne prend plus tous l'écran ...
j'ai mis ce que ça donne ici : http://www.deyer-studio.com/divers

Voila, si qq'un peu m'aider, merci :)

DeYeR
DeYeR Messages postés 11 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2010
16 févr. 2010 à 12:45
Super, merci beaucoup, je savais que c'était un truc tout bête, mais comme je débute, ces petits détails me rendent parfois la vie dure !
Merci à toi et à Orange pour ce code qui m'aide bien !

Bonne journée
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
16 févr. 2010 à 12:29
Hello,
C'est normal il faut indiqué le point d'alignement lors de la création de ton clip (F8)
DeYeR Messages postés 11 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2010
16 févr. 2010 à 12:22
Salut, le code marche super bien, c'est exactement ce qu'il me fallais, mais dès que je veux changer l'image, ça marche plus du tout.
Je pense qu'il y a une petite chose très simple qui m'échappe, je met mon image Bitmap dans la bibliothèque, puis sur la scène, F8 > clip > nom d'occurrence "pic", et là quand je fait tourner le rendu il me place l'angle haut/gauche de mon image plaine résolution au centre de la scène !

Pourriez vous m'indiquer si j'ai oublié une étape ?

Merci
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
24 sept. 2009 à 16:12
Hello,
Essaie comme cela :

function resizeImg(evt:Event=null):void {
if(stage.stageWidth>rect.width || stage.stageHeight>rect.height){
var coef:Number = Math.min(stage.stageWidth/rect.width, stage.stageHeight/rect.height);img.scaleX img.scaleY coef;
img.x = (stage.stageWidth-img.width)/2;
img.y = (stage.stageHeight-img.height)/2;
}
}
weblaetitia Messages postés 2 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 24 septembre 2009
24 sept. 2009 à 16:01
merci pour cette source !

cependant j'aurai un question :

j'aimerai utiliser ce script pour mon background mais j'aimerai que l'image s'agrandisse uniquement quand la hauteur ou largeur de la fenetre est supérieur a la dimension original de mon image (disons qu'elle mesure 1000x800px).

merci pour votre aide !
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 11:48
Je rajoute également le code de Peg' pour cette source :

//Créez une animation de n'importe quelle taille et de n'importe quel FrameRate
//Importez une image dans la bibliothèque que vous lierez sous le nom "Image"
//Placez le code sur la première frame de l'animation :

stage.align = "lt"; //origine de l'animation en haut à gauche
stage.scaleMode = "noScale"; //Empèche le redimensionnement de l'animation

var img:Bitmap = new Bitmap(new Image(0,0)); //crée un objet Bitmap contenant l'image de la bibliothèque
var rect:Rectangle = img.getBounds(stage); //Récupère la taille de l'image à l'échèle 1:1
img.smoothing = true; //Indice de lissage de l'image (optionnel)
addChild(img); //Affiche l'image sur le stage

resizeImg(); //Déclenche la fonction "à vide" pour le premier redimensionnement

stage.addEventListener(Event.RESIZE, resizeImg); //écouteur de la mise à l'échelle

function resizeImg(evt:Event=null):void { //Event=null permet l'appel de la fonciton sans évènement
var coef:Number = Math.min(stage.stageWidth/rect.width, stage.stageHeight/rect.height); //taille proportionnelleimg.scaleX img.scaleY coef; //Mise à l'échelle de l'image
img.x = (stage.stageWidth-img.width)/2; //centrage horizontal de l'image (optionnel)
img.y = (stage.stageHeight-img.height)/2; //centrage vertical de l'image (optionnel)
}
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 11:44
ok merci :-)
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
17 avril 2009 à 11:42
J'ai mis le code

Peg'
Nix Messages postés 831 Date d'inscription samedi 15 mai 1999 Statut Membre Dernière intervention 18 juillet 2009
14 avril 2009 à 18:07
On peut poster le zip à ta place s'il est trop gros, donne nous l'url on va mettre à jour ta source
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
14 avril 2009 à 18:04
Désolé merci de supprimer cette source car zip > 1 Mo . c'est pour cela que je l'ai mis dans Tuto
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 avril 2009 à 17:56
j'ajouterais qu'il faut savoir si tu veux mettre ça en tuto ou en source .. car un seul suffit ...

Peg'
Nix Messages postés 831 Date d'inscription samedi 15 mai 1999 Statut Membre Dernière intervention 18 juillet 2009
14 avril 2009 à 17:50
le zip est manquant
Rejoignez-nous