Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    ridimensiona in proporzione

    Uso questa funzione di preload per caricare delle immagine al caricamento verifico se larghezza maggiore di 400 o altezza maggiore di 250 riduco il clip a queste misure
    codice:
    //funzione preload
    function preload1(clip1, width1, height1){
    car = clip1.getBytesLoaded();
    tot = clip1.getBytesTotal();
    if(car == tot && tot>1024){
    clearInterval(c);
    if (clip1._width > width1 || clip1._height > height1){
    clip1._width = width1;
    clip1._height = height1;
    }
    }
    };
    fotogrande.loadMovie(percorso);
    c = setInterval(preload1, 100, _root.pannello.fotogrande, 400, 250);
    PROBLEMA

    Vorrei che il ridimensionamento fosse in proporzione
    cioè se larghezza maggiore di 400 riduci la larghezza e in proporzione l'altezza
    e se l'altezza è maggiore di 350 riduci altezza e in proporzione la larghezza

    spero di essermi spiegato
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  2. #2
    una cosa del genere potrebbe andare?

    codice:
    larghezza = 400;
    altezza = 250;
    pos_x = 0;
    pos_y = 0;
    preload_img = function () {
    	if (fotogrande.getBytesLoaded() == fotogrande.getBytesTotal() && fotogrande.getBytesTotal()>1024) {
    		if (fotogrande._width>larghezza) {
    			fotogrande.w_ratio = fotogrande._width/fotogrande._height;
    			fotogrande._width = larghezza;
    			fotogrande._height = larghezza/fotogrande.w_ratio;
    		}
    		if (fotogrande._height>altezza) {
    			fotogrande.h_ratio = fotogrande._height/fotogrande._width;
    			fotogrande._height = altezza;
    			fotogrande._width = altezza/fotogrande.h_ratio;
    		}
    				clearInterval(preload_imgID);
    	}
    };
    fotogrande.loadMovie(percorso);
    preload_imgID = setInterval(preload_img, 100);
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova questo, non lo posso testare

    codice:
    function preload1(clip1, width1, height1){
    	car = clip1.getBytesLoaded();
    	tot = clip1.getBytesTotal();
    	if(car == tot && tot>1024){
    		clearInterval(c);
    		if (clip1._width > width1 && clip1._height < clip1._width){
    			altezza = (clip1._height*width1)/clip1._width;
    			clip1._width = width1;
    			clip1._height = altezza;
    		} else if (clip1._height > height1 && clip1._height > clip1._width){
    			larghezza = (clip1._width*height1)/clip1._height;
    			clip1._width = larghezza;
    			clip1._height = height1;
    		}
    	}
    };
    fotogrande.loadMovie(percorso);
    c = setInterval(preload1, 100, _root.pannello.fotogrande, 400, 350);

  4. #4
    ciao and80 non funziona nessuna delle 2

    vedi tu stesso per capire,


    www.4ward.it/test/mita

    sezione camere

    la foto dello squalo

    350x350 quindi ha altezza maggiore

    dovrebbe ridimensionarsi in proporzione

    quindi 250x250 invece riduce + la larghezza rispetto altezza

    foto girasole

    400x300

    giusta larghezza altezza maggiore di 250
    dovrebbe ridurre altezz e calcolare lo scale in proporzione della larghezza

    Non lo fa

    quello che vedi è il codice non tuo sembra funzionare meglio ma non bene
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    così?
    codice:
    function preload1(clip1, width1, height1){
    	car = clip1.getBytesLoaded();
    	tot = clip1.getBytesTotal();
    	if(car == tot && tot>1024){
    		clearInterval(c);
    		if (clip1._width > width1 || clip1._height > height1){
    			if (clip1._height <= clip1._width){
    				altezza = (clip1._height*width1)/clip1._width;
    				clip1._width = width1;
    				clip1._height = altezza;
    			} else {
    				larghezza = (clip1._width*height1)/clip1._height;
    				clip1._width = larghezza;
    				clip1._height = height1;
    			}
    		}
    	}
    };
    fotogrande.loadMovie(percorso);
    c = setInterval(preload1, 100, _root.pannello.fotogrande, 400, 250);

  6. #6
    ho messo la tua
    gurada cosa succede al girasole
    non si ridimensiona

    con lo script che vedi sopra nella mia seconda risposta succedeva come hai visto ma non perfettamente
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da enigma_79
    ho messo la tua
    gurada cosa succede al girasole
    non si ridimensiona

    con lo script che vedi sopra nella mia seconda risposta succedeva come hai visto ma non perfettamente
    ma hai messo l'ultima? com'è possibile che non ridimensioni?! :master:

  8. #8
    non lo so ma è l'ultima che mi hai dato

    e faceva la stessa cosa con la prima

    non capisco neanche io



    hai altre idee
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    questa
    codice:
    function preload1(clip1, width1, height1){
    	car = clip1.getBytesLoaded();
    	tot = clip1.getBytesTotal();
    	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 {
    				clip1._width = larghezza;
    				clip1._height = height1;
    			}
    		}
    	}
    };
    fotogrande.loadMovie(percorso);
    c = setInterval(preload1, 100, _root.pannello.fotogrande, 400, 250);

  10. #10
    VVoVe:

    con le tue funzioni non effettua proprio il ridimensionamento

    con quella che ho scritto io invece le sballa di poco ma le sballa
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

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.