Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Resize immagine

  1. #1

    Resize immagine

    Ho un piccolo problema, ho una pagina-articolo generata in php, dove ci sono delle immagini piccole che cliccandoci sopra si ingrandiscono.
    Ora siccome dove sono hostato le librerie Gd non sono attive, vorrei poter fare tutto via css, ora mi spiego meglio.
    Mettiamo che io abbia un'immagine di 640x480 pixel, vorrei che nella pagina-articolo venga visualizzata in 128x96 pixel e cliccandoci sopra mi mostra quella grande.
    Secondo voi è possibile fare una cosa del genere, avevo pensato di usare le percentuali o impostare una grandezza precisa, ma poi mi sono accorto che se ho due immagini di diversa grandezza quando vengono rimpicciolite sono diverse una dall'altra, a me servirebbe che fossero uguali in altezza, in modo tale da non rovinare tutto il layout dell'articolo.
    Grazie ancora.

    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quello che chiedi e` fattibile, ma comunque l'immagine viene trasmessa completa, per cui la banda usata e` quella dell'immagine grande.

    Per settare le dimensioni nel CSS:
    img {
    width: 128px;
    height: 96px;
    }
    Questo setta le dimensioni di tutte le immagini della pagina.

    per visualizzare l'immagine grande in un <div>, poi hai necessita` di fare un rollover (in JS).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Avevo pensato ad un css cos', però ho il problema che va bene per un'immagine che abbia sempre quelle proporzioni; mettiamo che abbia un'immagine di 300x600px quando vado a ridimensionarla mi si controrce a causa dei valori impostati dal css.
    Quello che non riesco a fare invece è di impostare un'altezza e una larghezza massima che le immagini devono avere in modo da non sforare.
    Esempio:
    Immagine 1 = 640x480px = resize 128x96px
    Immagine 2 = 300x600px = resize 48x96px
    Immagine 3 = 1200x700px = resize 164x96px
    Secondo te è fattibile una cosa del genere.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non credo sia possibile con i CSS da soli.

    Io lo farei appoggiandomi a JS.

    1. carichi le immagini:
    var immagini = new Array();
    immagini[0] = new Image();
    immagini[0].src = "immagine1.jpg";
    immagini[1] = new Image();
    immagini[1].src = ...;
    ...

    2. per ogni immagine ricavi le dimensioni reali e poi le scali:
    codice:
    var w,h,r,w1,h1,pos; // definizioni variabili globali
    var rapp = 128/96; //rapporto ideale
    for (var i=0; i<immagini.length; i++) {
      w = immagini[i].width;
      h = immagini[i].height;
      r = w/h; // rapporto dimensioni
      if(r < rapp) { // caso altezza maggiore
        h1 = 96;
        w1 = Math.round(r/h1);
      } else {       // caso larghezza maggiore
        w1 = 128;
        h1 = Math.round(r*w1);
      }
    
      pos = document.getElementById('ID_OGGETTO_DOVE_SCRIVERE')
      pos.style.width = w1;
      pos.style.height = h1;
      pos.src = immagini[i].src;
    }
    Questo loop va inserito in una funzione da richiamare DOPO aver definito i vari tag <img id='ID_OGGETTO_DOVE_SCRIVERE'>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Certo che a volte mi chiedo se sono veramente scemo o no, ora so che lo sono
    Ho creato un ID che applico ad ogni immagine fatto così:
    codice:
    #img-small {
    height: 96px;
    width: auto;
    }
    Così mi rimpicciolisco l'immagine usando come base principale l'altezza e lascio che sia in automatico il browser a calcolare la larghezza.
    Era una cosa così semplice che non ci avevo pensato

  6. #6
    Rimane sempre il fatto della banda usata, a questo punto mi sa che mi conviene uploadare oltre alle immagini grandi anche quelle piccole, così risparmio banda.
    Peccato perchè era un semplice ed efficace trucchetto

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.