Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282

    ridimensionare immagini senza deformarle

    Ciao a tutti,
    ho un problema nel ridimensionare le immagini: le deformo!
    In sostanza vorrei creare delle immagini piccole 80x80 tagliando la parte in eccedenza in alto/basso e/o lateralmente.

    Ora faccio in questo modo:

    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);

    if (!move_uploaded_file($_FILES['image']['tmp_name'], $foto ))
    {
    $errore = "Errore nel caricamento dell'immagine!!";
    break;
    }
    else
    {
    // Creo la versione 80*80 dell'immagine (thumbnail)
    $thumb = imagecreatetruecolor(80, 80);
    $source = imagecreatefromjpeg($foto);
    imagecopyresized($thumb, $source, 0, 0, 0, 0, 80, 80, $width, $height);
    // Salvo l'immagine ridimensionata
    imagejpeg($thumb, $fotosmall, 95);
    }


    Dove devo intervenire per non deformare?
    Grazie

  2. #2
    Prima ritagli l'immagine con il rapporto altezza/larghezza che ti serve (in questo un quadrato) e poi esegui il ridimensionamento.

    Ad esempio se un'immagine e' 240x150, prima ritagli la parte centrale di dimensioni 150x150 e poi la ridimensioni a 80x80.

    Ah, e usa imagecopyresampled() invece di imagecopyresized() per una maggiore qualita'.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    Innanzitutto grazie per il tuo intervento,
    il problema è che non conosco a priori il formato della foto inserita (potrebbe anche essere verticale...) come faccio a ritagliare la parte centrale?
    Grazie

  4. #4
    Puoi recuperare le informazioni sulla dimensione dell'immagine con questa funzione: http://it.php.net/getimagesize

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    Infatti già le tenevo le dimensioni...
    Funziona perfettamente, l'unica cosa mi resta un bordino nero intorno all'immagine.
    Come lo elimino?

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.