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

    qualità imagecopyresampled

    Ciao a tutti,
    nel mio sito ho delle raccolte di foto e le mostro calcolando la dimensione del browser. Per ridimensionare le immagini uso questo script:
    codice:
    <?php
    $imageSrc = (string)$_GET['image'];
    $width = $_GET['width'];
    if (is_numeric($width) && isset($imageSrc)){
      header('Content-type: image/jpeg');
      makeThumb($imageSrc, $width);
    }
    
    function makeThumb($src,$newWidth) {
      $srcImage = imagecreatefromjpeg($src);
      $width = imagesx($srcImage);
      $height = imagesy($srcImage);
      $newHeight = floor($height*($newWidth/$width));
      $newImage = imagecreatetruecolor($newWidth,$newHeight);
      imagecopyresampled($newImage,$srcImage,0,0,0,0,$newWidth,$newHeight,$width,$height); 
      imagejpeg($newImage);
    }
    ?>
    Il mio problema è che si perde un po' di qualità, ecco l'esempio:
    foto originale: http://www.daniele50.it/web/album/1/IMG_3956.JPG
    foto ridimensionata (stesse dimensioni): http://www.daniele50.it/web/scr/resi...1/IMG_3956.JPG
    in questo caso di esempio l'immagine non viene ridimensionata, così si capisce la differenza di qualità (bisogna guardare i baffi del gatto o i fili d'erba su sfondo scuro in alto a sinistra).

    C'è un modo per non perdere qualità?

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    sinceramente non vedo tanta differenza

    potresti provare cambiara la qualità col terzo parametro di imagejpeg() oppure usare un altro formato come png

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Ho sbagliato, non uso questo script ne uso un altro che usa comunque imagejpeg.
    Ho controllato ed in effetti di default (se non specificato) imposta la qualità a 75 (da 0 a 100).
    Ho specificato il parametro a 100 ed ora la qualità è identica a quella dell'immagine originale.

    P.S. - Lo so che la differenza era poca, ma sono pignolo

    Grazie per l'aiuto !

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.