Visualizzazione dei risultati da 1 a 6 su 6

Discussione: imagecopyresample

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    165

    imagecopyresample

    ciao a tutti,
    ho un problema con la gestione delle immagini tramite le gd2

    quando pubblico un immagine e uso imagecopyresample e successivamente imagejpeg l'immagine viene ridotta di qualità

    in imagejpeg ho impostatola qualita 100 ma non cambia nulla


    cosa posso fare?

    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Bisogna che crei l'immagine di destinazione (dove vai a copiare la tua immagine) così:

    dst_img = imagecreatetruecolor($width, $height);

    dove width e height sono le dimensioni dell'immagine originale se le vuoi identivhe
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    165
    questo è il codice...

    class funzioni {
    function ottimizza($file, $mime, $larghezza, $altezza) {

    switch ($mime) {
    case "image/pjpeg":
    $ImgSorgente=imagecreatefromjpeg($file);
    $array_sorgente = getimagesize($file);
    break;

    case "image/jpeg":
    $ImgSorgente=imagecreatefromjpeg($file);
    $array_sorgente = getimagesize($file);
    break;

    case "image/gif":
    $ImgSorgente=imagecreatefromgif($file);
    $array_sorgente = getimagesize($file);
    break;

    default:
    $ImgSorgente=imagecreatetruecolor($larghezza, $altezza);
    $bianco= imagecolorallocate($ImgSorgente, 255, 255, 255);
    imagefill($ImgSorgente, $larghezza/2, $altezza/2, $bianco);
    $array_sorgente = array($larghezza, $altezza);
    break;
    }

    $imgDestinazione = imageCreateTrueColor($larghezza, $altezza);

    imagecopyresampled($imgDestinazione, $ImgSorgente, 0, 0, 0, 0, $larghezza, $altezza, $array_sorgente[0], $array_sorgente[1]);

    // mandiamo in output l'immagine e liberiamo la memoria
    ob_start();

    switch ($mime) {
    case "image/pjpeg":
    imagejpeg($imgDestinazione,'',100);
    break;

    case "image/jpeg":
    imagejpeg($imgDestinazione,'',100);
    break;

    case "image/gif":
    imagegif($imgDestinazione);
    break;

    default:
    imagegif($imgDestinazione);
    break;
    }

    $immagine = ob_get_contents();
    ob_end_clean();

    imagedestroy($imgDestinazione);

    return $immagine;
    }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Il php è case sensitive..
    imageCreateTrueColor != da imagecreatetruecolor

    cambialo

    non so com'è che non ti da errore
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    165
    non cambia nulla, anche perchè veniva scelto uno tra i primi due casi (sono immagini .jpg)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non c'entra niente che tipo di immagine usi...
    Stiamo parlando di quella di destinazione non la sorgente.
    Però se dici che non cambia nulla.. non saprei come aiutarti..
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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.