Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    10

    Problema Ridimensionamento Immagine

    Ciao a tutti..

    ho un problema con un preload per il ridimensionamento di un'immagine esterna. pare funzionare bene, ma in realtà spesso mi butta fuori l'immagine non ridimensionata, magari faccio il refresh della pagina e funziona.. lo script è il seguente:
    Carica la variabile, analizza altezza e larghezza e ridimensiona.. a me pare tutto a posto ma non mi spiego l'anomalia.. javascript:smilie('')
    Jam (arrabbiata)


    var img = "../../public/loveimg/"+_root.img;

    //funzione preload
    function preload1(clip1, width1, height1){
    car = clip1.getBytesLoaded();
    tot = clip1.getBytesTotal();
    perc = Math.round((car/tot)*100);
    clip1.createTextField("testo", 1, (this._width/2), (this._height/2), 190, 20);
    clip1.testo.wordWrap = true;
    testoformat = new TextFormat();
    testoformat.color = "0x123466";
    testoformat.font = "Verdana";
    clip1.testo.setTextFormat(testoformat);

    if(!isNaN(perc)) {
    clip1.testo.text = "Caricamento..."+perc+"%";
    clip1.testo.setTextFormat(testoformat);
    }


    if(car == tot && tot>1024){
    clearInterval(c);
    altezza = (clip1._height*width1)/clip1._width;
    larghezza = (clip1._width*height1)/clip1._height;
    if (clip1._width > width1 || clip1._height > height1){
    if (clip1._height < clip1._width){
    clip1._width = width1;
    clip1._height = altezza;
    } else if (clip1._height > clip1._width){
    clip1._width = larghezza;
    clip1._height = height1;
    } else {
    clip1._width = clip1._height = height1;

    }

    if(clip1._height > height1){
    clip1._height=height1;
    clip1._width=larghezza;
    }
    }
    clip1.testo.text = "";

    }
    };
    imm.loadMovie(img);
    c = setInterval(preload1, 80,imm, 261, 356 );


    Grazie a chiunque possa darmi una mano..

  2. #2
    ciao ho modificato il tuo script in questo modo.
    dentro imm ho inserito un mc vuoto istanziato 'foto' in coordinate (0,0)
    e un mc 'barra' in coordinate (0,0)
    poi il codice sul frame diventa:
    codice:
    //var img = "../../public/loveimg/"+_root.img;
    var img = "foto.jpg"
    //funzione preload
    function preload1(width1,height1){
    imm.onEnterFrame=function(){ 
        /* fintanto che non mi sposto da questa frame
        eseguo ciclicamente i controlli/calcoli descritti
        */
        car=this.foto.getBytesLoaded() // byte caricati
        tot=this.foto.getBytesTotal()  // byte totali
        this.barra._xscale=Math.floor(car/tot*100) //rap. perc. caricamento
       if(car == tot && car > 1024){
          // foto caricata
          this.barra._xscale=100 // solo per sicurezza
    	  this.barra._visible=0 // solo per sicurezza
          this.foto._alpha=100 // vedo la foto
    	    this.foto._width=width1;
    	  this.foto._height=height1;
    	  trace(width1+"-"+height1)
          delete this.onEnterFrame  // cancello liberando la CPU da inutili controlli e carichi di lavoro
      
      } // fine if
    
    }// fine enterFrame
    }
    imm.foto.loadMovie(img);
    c = setInterval(preload1,80,261,356);
    -Nextart.it Graphic Solutions

  3. #3
    cioè metti una dichiarazione di enterFrame dentro un setInterval????

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    10

    Grandioso

    nextart 6 un grande..

    ho fatto un po' di prove e pare funzionare da dio.. per curiosità, cosa c'era che faceva impallare il tutto??

    Ciao, Grazie ancora..

  5. #5
    cioè metti una dichiarazione di enterFrame dentro un setInterval????
    hai ragione.......

    sostiutisci l'ultima riga con

    codice:
    preload1(261,356);
    cosa c'era che faceva impallare il tutto??
    ad occhio i controli degl'if facevano un po' di confusione..........


    -Nextart.it Graphic Solutions

  6. #6
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    e cominciare a usare i listener e vari metodi?

    var mclListener = new Object();

    mclListener.onLoadStart = function ()
    {

    };
    mclListener.onLoadProgress = function ()
    {

    };
    mclListener.onLoadInit = function ()
    {

    };
    ...altri 5 anni di purga...

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.