Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110

    Thumb - - - trasformazione gif -> jpg

    guardate qst codice per effettuare un miniatura d'immagine:

    <?
    $img = $_GET['immagine'];
    function estensione($nome){
    $trova_punto = explode(".", $nome);
    $estensione = $trova_punto[count($trova_punto) - 1];
    $estensione = strtolower($estensione);
    // Se non ci sono estensioni
    if (isset($trova_punto[1]) == FALSE){
    return "";
    }
    return $estensione;
    }

    $file = $doc;
    $estens = estensione($img);

    list($width, $height) = getimagesize($img);

    Header("Content-type: image/".$estens);
    Header("Content-Disposition: inline; filename=TN_".urldecode($img));
    //preparo lo switch per il tipo esatto di funzione in base al tipo d'immagine
    switch($_estens){
    default:
    $funzione_image_create = "ImageCreateFromJpeg";
    $funzione_image_new = "ImageJpeg";
    break;
    case "jpg":
    $funzione_image_create = "ImageCreateFromJpeg";
    $funzione_image_new = "ImageJpeg";
    case "jpeg":
    $funzione_image_create = "ImageCreateFromJpeg";
    $funzione_image_new = "ImageJpeg";
    break;
    case "png":
    $funzione_image_create = "ImageCreateFromPng";
    $funzione_image_new = "ImagePNG";
    break;
    case "gif":
    $funzione_image_create = "ImageCreateFromGif";
    $funzione_image_new = "ImagePNG";
    break;
    }

    //calcolo il rapporto delle dimensioni delle immagini
    $rapporto_division = $width/$height;

    //con number format formatto il rapporto
    $rapporto_format = number_format($rapporto_division, 1, '.', ' ');

    $final_alt = 40;
    $final_largh = number_format($final_alt/$rapporto_format,0);

    //restituisce un elemento identificativo per l'immagine data
    $img_original = @$funzione_image_create($img);

    //ImageCreateTrueColor: funzione per creare un'immagine con illimitati colori e con altezza e lunghezza dati
    $img_final = @ImageCreateTrueColor($final_largh,$final_alt);

    //funzione per ridurre le immagini;
    @ImageCopyResampled($img_final, $img_original, 0, 0, 0, 0, $final_largh, $final_alt, $width, $height);

    //questa funzione crea fisicamente il nuovo file
    @$funzione_image_new($img_final, "", 100);

    //queste due funzioni liberano la memoria dalle immagini create
    @ImageDestroy($img_original);
    @ImageDestroy($img_final);

    ?>

    tutto funziona se gli passo una jpg o un png... ma se gli passo un'immagine gif, questa mi compare tutta nera... da che può dipendere?
    in pratica qst script effettua una conversione per le gif rendendole jpg, qst perchè le GD nn supportano il formato GIF... a qnt ho capito vi è un problema nella conversione... come risolvo?

    grazie

  2. #2
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    up

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 © 2024 vBulletin Solutions, Inc. All rights reserved.