IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Adapter le chargement d'une image à la taille d'un MovieClip


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut Adapter le chargement d'une image à la taille d'un MovieClip
    Bonjour,

    Peut être que ma question (contenue dans le titre) va vous paraitre stupide, mais bon... J'essaie de créer un diaporama avec un déplacement horizontal sur les images, mais le problème est que mes images sont d'une taille de 500x350 et que mes movies clips 100x75. Je ne vois pas comment faire. A ma connaissance on peut adapter la taille de l'image au contenant, mais seulement avec les composants 'Loader". Une petite idée pour me mettre sur la voie ?

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,


    puisque tu charges l'image dans un clip, suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monClip.width = 100;
    monClip.height = 75;
    aprés le chargement de l'image


    70px est préférable en hauteur sinon ton image sera crade !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    Salut,

    Merci pour ta réponse, mais ça ne marche pas , j'ai toujours mon image pleine taille. Voilà ce que je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     var mc = this.createEmptyMovieClip("photo", 0);
     mc._x = 50
     mc.createEmptyMovieClip("conteneur", 1 );
     mc.conteneur.loadMovie("<a href="http://www.soblunk.fr/images/soblunk/diaporama/img1.jpg" target="_blank">http://www.soblunk.fr/images/soblunk/diaporama/img1.jpg</a>");
     mc.conteneur.width = 100;
     mc.conteneur.height = 75;
    J'ai faux ?

  4. #4
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    comme je l'ai dis plus haut :
    aprés le chargement de l'image

    faut attendre que l'image soit chargé avant de vouloir définir la taille du conteneur.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    Ok, mais est ce que je fais pour controller que mon clip est chargé avec le contenu de l'image ?

  6. #6
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    ben avec l'évènement approprié de la classe MovieClipLoader (onLoadComplete) car je ne suis pas certain que la classe MovieClip a un évènement pour gérer le chargement dans son conteneur (a vérifier avec les spécialistes de l'AS2)


    voici la classe que j'utilisais a l'époque de Flash 7 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    /* ----------------------------------------------------------------------------
    *
    *
    *                CLASSE ChargeClip v1.2 remplace MovieClipLoader
    *
    *
    * ©Lorenzo le 11/03/2005
    *
     ------------------------------------------------------------------------------ */
     
     
     
    /*
    * Cette classe à pour but de REMPLACER, SIMPLIFIER et CORRIGER MovieClipLoader qui merde completement :
    * -onLoadProgress est incapable de me sortir une taille différente de 0
    * -onLoadComplete ne s'execute pas à la fin d'un téléchargement
    * -Suivant que l'url est absolue ou relative j'ai des différences dans la gestion du téléchargement 
    * - .... etc
    *
    * Un champ de texte peut être crée pour afficher le pourcentage téléchargé ainsi qu'une barre de chargement
    * qui passe du rouge au vert sur un dégradé afin de visualiser la progression.
    *
    * Plus besoin d'enregistrer des écouteurs -> pour récuperer les évenements il suffit de définir et d'utiliser ces 3 méthodes :
    * actionLance() : Executé au lancement du téléchargement (remplace onLoadStart)
    * actionFin() : Executé lorsque le téléchargement est fini et la cible initialisé (remplace onLoadInit)
    * actionErreur() : Executé quand une erreur survient (remplace onLoadError)
    *
    * Ces 3 autres méthodes font tout le reste du travail :
    * ChargeClip() : Constructeur
    * lancer() : Lancement et gestion du téléchargement
    * effacer() : Effacement du fichier chargé
    *
    * Aucun besoin de créer un onEnterFrame ou un setInterval dans le SWF, la classe s'en occupe
    */
     
     
     
    dynamic class ChargeClip extends MovieClipLoader {
     
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
    	// --------------------------- INITIALISATION DES MEMBRES -------------------------
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
     
     
    	// ----- Paramètres utilisateur -------
     
    	// Fichier à charger
    	var stFichier = '';
     
    	// Cible pour le chargement
    	var mcCible;
     
     
     
     
     
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
    	// ------------------------------- EVENEMENTS PERSO -------------------------------
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
     
    	// Executé au début du téléchargement
    	public var actionLance:Function;
     
    	// Executé lorsque le téléchargement est fini et la cible initialisé
    	public var actionFin:Function;
     
    	// Executé quand une erreur survient
    	public var actionErreur:Function;
     
     
     
     
     
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
    	// --------------------------------- CONSTRUCTEUR ---------------------------------
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
     
    	/*** ---- ChargeClip() : initialise la classe ----
    	*
    	* stFichier : Le fichier SWF ou JPG à charger
    	* mcCible : La cible (un clip ou un nombre indiquant le niveau) ou sera charger le fichier
    	*
    	* (Void)
    	*/
    	function ChargeClip(stFichier, mcCible){
     
    		this.stFichier = stFichier;
    		this.mcCible = mcCible;
     
    		// Utile pour que le nom des fonctions/évenements soient listés dans le panneau de sortie meme sans être défini
    		this.actionLance = function(){}
    		this.actionFin = function(){}
    		this.actionErreur = function(){}
    	}
     
     
     
     
     
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
    	// ------------------------------ MOTEUR CHARGEMENT ------------------------------
    	// -----------------------------------------------------------------------------------
    	// -----------------------------------------------------------------------------------
     
    	/*** ---- lancer : Méthode servant de lanceur et de moteur pour le chargement ----
    	*
    	* nbLarg : La largeur de la barre de préchargement
    	* nbHaut : La hauteur de la barre de préchargement
    	* mcMoteur : Un clip crée, positionné et destiné uniquement au lanceur, sera effacé à la fin du chargement .. 
    	* blText : Un booléen indiquant s'il faut créer le champ de texte affichant le pourcentage
    	*
    	* PERSO:: Si nbLarg|nbHaut est à 0, aucune barre de chargement sera dessiné et le point 0,0 sera le millieu haut du champ
    	* de texte; sinon le point 0,0 du mcMoteur correspond au centre de la barre de préchargement
    	*
    	* (Void)
    	*/
    	function lancer(nbLarg, nbHaut, mcMoteur, blText){
     
    		if( typeof(mcMoteur) != 'movieclip' ){
    			throw('ChargeClip::lancer(,,mcMoteur,) : Ce n\'est pas un clip');
    		}
     
    		// ----- Active la barre de chargement -----
    		if( nbLarg && nbHaut ){
     
    			// Toutes les valeurs pour la partie visuel du chargement
    			var nbLargContour = 4;
    			var nbLargOmbre = 6;
    			var nbRapport = nbLarg*3 / 100;
     
    			// Création de l'ombre + contour de la barre de chargement
    			with (mcMoteur) {
     
    				// Ombre
    				lineStyle (1, 0x999999, 35);
    				beginFill (0x999999, 35);
    				moveTo (-nbLarg/2, -nbHaut/2);
    				lineTo (nbLarg/2 + nbLargOmbre + nbLargContour, -nbHaut/2);
    				lineTo (nbLarg/2 + nbLargOmbre + nbLargContour, nbHaut/2 + nbLargOmbre + nbLargContour );
    				lineTo (-nbLarg/2, nbHaut/2 + nbLargOmbre + nbLargContour );
    				endFill ();
     
    				// Contour
    				lineStyle (1, 0x000000, 100);
    				beginFill (0x999999, 100);
    				moveTo (-nbLarg/2-nbLargContour, -nbHaut/2-nbLargContour);
    				lineTo (nbLarg/2 + nbLargContour, -nbHaut/2-nbLargContour);
    				lineTo (nbLarg/2 + nbLargContour, nbHaut/2 + nbLargContour);
    				lineTo (-nbLarg/2-nbLargContour, nbHaut/2 + nbLargContour);
    				endFill ();
    			}
    		}
     
    		// ----- Active le champ de texte -----
    		if( blText ){
    			var tfPourc = new TextFormat ("_sans", 14	, 0x999999, true, false, false, '', '', "center");		
    			var obTailleTx = tfPourc.getTextExtent('100 %');
     
    			// Création + Initialisation champ de texte
    			mcMoteur.createTextField (
    				"txAffi",
    				mcMoteur.getNextHighestDepth (),
    				- (obTailleTx.textFieldWidth / 2),// X
    				-nbHaut/2 -obTailleTx.textFieldHeight - nbLargContour,// Y
    				obTailleTx.textFieldWidth,// Larg
    				obTailleTx.textFieldHeight// Haut
    				);
    			mcMoteur.txAffi.setNewTextFormat (tfPourc);
    			mcMoteur.txAffi.autoSize = "center";
    			mcMoteur.txAffi.border = 1;
    			mcMoteur.txAffi.background = 1;
    			mcMoteur.txAffi.text = '100 %';
    		}
     
     
     
    		var obClass = this;
     
    		// ----- Écouteur de lancement du chargement -----
    		this.onLoadStart = function(mcCibleCharg){
     
    			var nbPourcen2 = 0;
    			var nbPourcen = 0;
    			var obTmp;
     
    			obClass.actionLance(mcCibleCharg);
     
     
    			mcMoteur.onEnterFrame = function(){
    				obTmp = obClass.getProgress(mcCibleCharg);
    				nbPourcen = Math.round ((obTmp.bytesLoaded / obTmp.bytesTotal) * 100);
    				isNaN(nbPourcen) ? nbPourcen = 0 : null;
     
     
    				// Permet d'éviter des dessins et calculs inutile
    				if( nbPourcen != nbPourcen2 ){
    					nbPourcen2 = nbPourcen;
     
    					if( blText ) mcMoteur.txAffi.text = nbPourcen + "%";
     
    					if( nbLarg && nbHaut ){
    						// Déplacement du dégradé du rouge vers le vert
    						with(this){
    							beginGradientFill (
    								"linear",
    								[0x006600, 0x00CC00, 0xFFFF00, 0xFF0000, 0xAA0000],// Vert foncé / vert clair / jaune / rouge / rouge foncé
    								[100, 100, 100, 100, 100],// Transparence
    								[0, 64, 128, 191, 255],// Rapport
    								{matrixType:"box", x: (nbPourcen * nbRapport)-nbLarg*2-nbLarg/2 , y:0, w:nbLarg*2, h:nbHaut, r:0}// Matrice
    							);
    							moveTo (-nbLarg/2, -nbHaut/2);
    							lineTo (nbLarg/2, -nbHaut/2);
    							lineTo (nbLarg/2, nbHaut/2);
    							lineTo (-nbLarg/2, nbHaut/2);
    							endFill ();
    						}
    					} // if( nbLarg
     
    				} // if( nbPourcen
    			} // onEnterFrame
    		} // onLoadStart
     
     
    		// ----- Écouteur d'erreur -----
    		this.onLoadError = function(mcCibleCharg, stCodeErreur){
    			/*
    			// a laisser ou a virer ??
    			switch( stCodeErreur ){
    				case 'URLNotFound':
    					trace(mcCibleCharg+' : Fichier introuvable');
    					break;
    				case 'LoadNeverCompleted':
    					trace(mcCibleCharg+' : Impossible de finir le téléchargement');
    					break;
    				default:
    					trace(mcCibleCharg+' : Erreur inconnu lors du téléchargement');
    					break;
    			}*/
    			mcMoteur.removeMovieClip();
    			obClass.actionErreur(mcCibleCharg, stCodeErreur);
    		}
     
     
    		// ----- Écouteur de début du lancement du fichier chargé -----
    		this.onLoadInit = function(mcCibleCharg){
    			mcMoteur.removeMovieClip();
    			obClass.actionFin(mcCibleCharg);
    		}
     
     
    		this.loadClip(this.stFichier, this.mcCible);
     
     
    		ASSetPropFlags(this ,['onLoadStart', 'onLoadError', 'onLoadInit'], 7);
    		ASSetPropFlags(mcMoteur.txAffi.__proto__ , null, 1);
    	}
     
     
     
     
     
     
     
     
    	/*** ---- effacer : Méthode servant à effacer la cible chargé ----
    	*
    	* (Void)
    	*/
    	function effacer(){
    		this.unloadClip(this.mcCible);
    	}
     
     
     
    }

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    Merci, je vais essayer de décortiquer tout ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Adapter une image à la taille de la diapositive
    Par aalex_38 dans le forum VBA PowerPoint
    Réponses: 5
    Dernier message: 01/04/2010, 18h47
  2. Adapter une Image à la taille de tous les écrans
    Par spectre666 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 19/10/2008, 19h47
  3. Vitesse de chargement d'une image jpg ?
    Par ybruant dans le forum Langage
    Réponses: 6
    Dernier message: 16/11/2004, 20h42
  4. [debutant]Chargement d'une image de mes documents
    Par reineville dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/03/2004, 09h52
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo