Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Controllo dimensioni immagini dinamiche

    In una pagina che viene caricata con un loadmovie ho creato 5 movie clip vuoti (5 istanze chiamate img1 img2 img3 img4 img5)che caricano al loro interno delle immagini in questo modo.
    (le immagini vengono pescate dalla cartella e devono chiamarsi obbligatoriamente foto1, foto2, foto3, foto4, foto5).


    //-----------------------------foto1--------------------------//
    function preloadJPG(img1){
    if(img1.getBytesLoaded() > 1024 && img1.getBytesLoaded() == img1.getBytesTotal()){
    img1._width = 100;
    img1._height = 80;
    clearInterval(pippo);
    }
    }
    img1.loadMovie("chisiamo/foto1.jpg");
    pippo = setInterval(preloadJPG,50,eval("img1"));
    //-----------------------------foto2--------------------------//
    function preloadJPG2(img2){
    if(img2.getBytesLoaded() > 1024 && img2.getBytesLoaded() == img2.getBytesTotal()){
    img2._width = 100;
    img2._height = 80;
    clearInterval(b);
    }
    }
    img2.loadMovie("chisiamo/foto2.jpg");
    b = setInterval(preloadJPG2,50,eval("img2"));
    //-----------------------------foto3--------------------------//
    function preloadJPG3(img3){
    if(img3.getBytesLoaded() > 1024 && img3.getBytesLoaded() == img3.getBytesTotal()){
    img3._width = 100;
    img3._height = 80;
    clearInterval(c);
    }
    }
    img3.loadMovie("chisiamo/foto3.jpg");
    c = setInterval(preloadJPG3,50,eval("img3"));
    //-----------------------------foto4--------------------------//
    function preloadJPG4(img4){
    if(img4.getBytesLoaded() > 1024 && img4.getBytesLoaded() == img4.getBytesTotal()){
    img4._width = 100;
    img4._height = 80;
    clearInterval(d);
    }
    }
    img4.loadMovie("chisiamo/foto4.jpg");
    d = setInterval(preloadJPG4,50,eval("img4"));
    //-----------------------------foto5--------------------------//
    function preloadJPG5(img5){
    if(img5.getBytesLoaded() > 1024 && img5.getBytesLoaded() == img5.getBytesTotal()){
    img5._width = 100;
    img5._height = 80;
    clearInterval(e);
    }
    }
    img5.loadMovie("chisiamo/foto5.jpg");
    e = setInterval(preloadJPG5,50,eval("img5"));

    A questo punto le immagini vengono inserite ma naturalmente a 100 x 80, il che vuol dire ch eun'immagine verticale viene deformata parecchio.
    Dovrei fare un controllo del genere: se l'altezza di foto1.jpg è maggiore alla larghezza di foto1.jpg, img1 _height = 90

    Come posso fare questo controllo?

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    codice:
    function preloadJPG(img1){ 
    	if(img1.getBytesLoaded() > 1024 && img1.getBytesLoaded() == img1.getBytesTotal()){ 
    		if (img1._width < img1._height){
    			img1._width = 100; 
    			img1._height = 90; 
    		} else {
    			img1._width = 100; 
    			img1._height = 80; 
    		}
    		clearInterval(pippo); 
    	} 
    } 
    img1.loadMovie("chisiamo/foto1.jpg"); 
    pippo = setInterval(preloadJPG,50,eval("img1"));

  3. #3
    io farei così

    chiamerei i clip contenitori delle foto

    clip1,clip2,clip3,clip4,clip5

    all'interno di ciascuno di essi un clip istanziato BOXMINI (dove effettivamente andrà la foto.

    quindi

    codice:
    path="percorso foto/"
    DimLarg=100
    DimAlt=100
    I=1
    while(I<5){
    mc=eval("clip"+I)      
    mc.boxmini.loadMovie(path+"foto"+I+".jpg");
    mc.boxmini._alpha = 0;
    mc.onEnterFrame = function() {
    if (this.boxmini.getBytesLoaded()>1024 && this.boxmini.getBytesLoaded() == this.boxmini.getBytesTotal()) {
       // calcolo dimensioni originali e peso
       this.boxmini._xscale = this.boxmini._yscale=100;
       this.larg = this.boxmini._width;
       this.alt = this.boxmini._height;
       // Peso
       this.peso=this.boxmini.getBytesTotal()
       // chiamo la funzione di re-dimensionamento in sscale
       this.boxmini._xscale = Math.floor(DimLarg/this.larg*100);
       this.boxmini._yscale = Math.floor(DimAlt/this.alt*100);
       // chiamo l'ottimizzazione delle immagini
       this.boxmini._width = DimLarg;
       this.boxmini._height = DimAlt;
       // gestione ALpha
       this.boxmini.onEnterFrame = function() {
    	if (this._alpha<99) {
    	    this._alpha += 20;
            } else {
    	   delete this.onEnterFrame;
    	}
       };// fine boxmini.enterFrame
    delete this.onEnterFrame;
    } // fine mc.EnterFrame
    I++
    }; // fine While
    Ciao

  4. #4
    Ops... mentre scrivevo And 80 aveva già risp.

    RiCiao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.