Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    82

    loadmovie proporzionale

    salve
    sto cercando di fare una galleria dinamica di foto caricate in un mc quadrato : attualmente le immagini vengono inserite nelle dimensioni originali
    function loadImage(_mc) {
    album_content_mc.proxy_mc._xscale=album_content_mc .proxy_mc._yscale=100;

    per evitare di preparare tutte le foto di giuste dimensioni vorrei poter calcolare il caricamento in modo che il lato lungo sia uguale al lato del mio mc e il lato corto della foto si proporzionasse di conseguenza...(oddio !! spero di essere stato abbastanza chiaro...)

    ho provato varie soluzioni: questa mi sembrava giusta..ma non funziona (500 è la misura del mio mc)
    album_content_mc.proxy_mc._xscale = Math.floor(500*100/_mc._width);
    album_content_mc.proxy_mc._yscale = Math.floor(500*100/_mc._height);

    qualcuno può darmi un suggerimento ? grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    vedi se riesci ad estrarre qualche dritta da questa discussione

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    82
    aiuto..
    ho seguito il consiglio e ho scritto cosi

    alt = (_mc._height*500)/_mc._width;
    larg = (_mc._width*500)/_mc._height;
    if (_mc._width>500 || _mc._height>500) {
    if (_mc._height<_mc._width) {
    album_content_mc.proxy_mc._width = 500;
    album_content_mc.proxy_mc._height = alt;
    } else if (_mc._height>_mc._width) {
    album_content_mc.proxy_mc._width = larg;
    album_content_mc.proxy_mc._height = 500;
    } else {
    album_content_mc.proxy_mc._width = album_content_mc.proxy_mc._height=500;
    }
    }

    ma non funziona, sigh !! (le immagini sono enormi !!) dov'è l'inghippo ??

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da picieffe
    aiuto..
    ho seguito il consiglio e ho scritto cosi

    [...]
    ma non funziona, sigh !! (le immagini sono enormi !!) dov'è l'inghippo ??
    penso sia nel fatto che il ridimensionamento funziona solo nel momento in cui l'immagine è totalmente caricata nel tuo clip, infatti se noti, la funzione è inserita dentro un preload, insomma quello che hai scritto è giusto ma non può essere svincolato rispetto alla funzione, questa è quella funzionante nella discussione che ti ho passato (faccio una piccola modifica nel controllo dei btyes caricati cosicchè dovrebbe risultare più precisa)
    codice:
    function preload1(clip1, width1, height1){
    	car = clip1.getBytesLoaded();
    	tot = clip1.getBytesTotal();
    	perc = Math.floor((car/tot)*100);
    	if(car == tot && tot>= perc && perc == 100){
    		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;
    			}
    		}
    	}
    };
    fotogrande.loadMovie(percorso);
    c = setInterval(preload1, 100, _root.pannello.fotogrande, 400, 250);

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    82
    innanzitutto grazie a and80 che mi sta seguendo in questa mia difficoltà..

    Adesso sembra funzionare ma in una maniera strana e antipatica, che non mi so spiegare..: il primo caricamento di ogni foto lo fa a dimensione dell'originale (quindi debordando dalla finestra del mc) e poi ricliccando fa il resize esattamente come volevo(cioè proporzionale al lato più lungo) ___non capisco ! forse dipende dalla prima riga, che pero se la elimino mi riporta ad avere dimesioni gigantesche delle foto..
    mi fa rabbia perchè sono vicino alla soluzione ma c'è questa stranezza...

    dunque io avevo risolto così (adattando al mio mc contenitore che è 500x500)).


    album_content_mc.proxy_mc._xscale = album_content_mc.proxy_mc._yscale=100;
    alt = (album_content_mc.proxy_mc._height*500)/album_content_mc.proxy_mc._width;
    larg = (album_content_mc.proxy_mc._width*500)/album_content_mc.proxy_mc._height;
    if (album_content_mc.proxy_mc._width>500 || album_content_mc.proxy_mc._height>500) {
    if (album_content_mc.proxy_mc._height<album_content_m c.proxy_mc._width) {
    album_content_mc.proxy_mc._width = 500;
    album_content_mc.proxy_mc._height = alt;
    } else if (album_content_mc.proxy_mc._height>album_content_m c.proxy_mc._width) {
    album_content_mc.proxy_mc._width = larg;
    album_content_mc.proxy_mc._height = 500;
    } else {
    album_content_mc.proxy_mc._width = album_content_mc.proxy_mc._height=500;
    }
    }

    help !! dov'è l'errore ???

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    82
    siccome sono inchiodato su questo problema che non riesco a risolvere provo a lanciare un ultimo appello...
    ho modificato lo script per renderlo più facile da leggere

    dunque devo caricare le solite foto in un mc che ha dimensioni 500x500 : poiche le immagini saranno caricate dinamicamnte senza poter controllare la dimensione, ho bisogno che vengano comprese nel quadrato del mio movieclip
    come dicevo lo script funzionerebbe ma solo quando clicco la seconda volta su ogni foto. Il primo caricamento avviene invece a dimensioni dell'originale...perchè mai ???
    questo è il pezzo di script che riguarda la faccenda :

    _mc._xscale = _mc._yscale=100;
    alt = (_mc._height*500)/_mc._width;
    larg = (_mc_.width*500)/_mc._height;
    if (_mc._width>500 || _mc._height>500) {
    if (_mc._height<_mc._width) {
    _mc._width = 500;
    _mc._height = alt;
    } else if (_mc._height>_mc._width) {
    _mc._width = larg;
    _mc._height = 500;
    } else {
    _mc._width = _mc._height=500;
    }
    }

    come già accennato, non riesco a correggere la prima riga, che è quella secondo me responsabile : ma se la tolgo le foto diventano gigantesche...
    qualche super esperto riesce a darmi un suggerimento ??
    disperatamente , grazie

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da picieffe
    [...]

    _mc._xscale = _mc._yscale=100;
    alt = (_mc._height*500)/_mc._width;
    larg = (_mc_.width*500)/_mc._height;
    if (_mc._width>500 || _mc._height>500) {
    if (_mc._height<_mc._width) {
    _mc._width = 500;
    _mc._height = alt;
    } else if (_mc._height>_mc._width) {
    _mc._width = larg;
    _mc._height = 500;
    } else {
    _mc._width = _mc._height=500;
    }
    }
    :master: non assomiglia molto al clip che ti ho postato, ma quello l'hai provato?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    82
    si l'ho provato, anzi a me sembra proprio lo stesso (adattato alle mie istanze)a parte le righe iniziali e finali che riguardano il preload e che naturalmente ho anch'io (e sono un po diverse perche il preload avviene nascosto e poi l'immagine si carica in fade...)
    però a me sembra proprio uguale nella sostanza.....

    o no ??

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da picieffe
    si l'ho provato, anzi a me sembra proprio lo stesso (adattato alle mie istanze)a parte le righe iniziali e finali che riguardano il preload e che naturalmente ho anch'io (e sono un po diverse perche il preload avviene nascosto e poi l'immagine si carica in fade...)
    però a me sembra proprio uguale nella sostanza.....

    o no ??
    anche quello che ti ho dato avviene nascosto ma fa in modo che non avvengano le cose finchè non è tutto caricato, giusto per evitare i malfunzionamenti che accusa il tuo script, e poi hai omesso l'ultimo if che è molto importante per far funzionare correttamente lo script con qualsiasi tipo di immagine

  10. #10
    PER RIDIMENSIONARE UN CLIP IN PROPORZIONE SECONDO UNA DELLE DUE DIMENSIONI PREDETERMINATA

    codice:
    altezzaFissa=250;
    album_content_mc.proxy_mc._width=this._width*altezzaFissa/this._height;
    album_content_mc.proxy_mc._height=altezzaFissa;
    PER RIDIMENSIONARE UN CLIP NON IN PROPORZIONE SECONDO LE DUE DIMENSIONI PREDETERMINATE
    codice:
    album_content_mc.proxy_mc._width=larghezzaFissa;
    album_content_mc.proxy_mc._height=altezzaFissa;
    codice:
    onClipEvent (load) {
    if (getBytesLoaded() == getBytesTotal() && getBytesTotal()>100) {
    *UNO DEI DUE CODE*
    }
    }

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.