Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Resize gif

  1. #1

    Resize gif

    Salve a tutti,
    ho questo codice con il quale faccio un resize al volo di alcune immagini.
    Il problema è che funziona solo con le jpg e adesso avrei bisogno che andasse anche con le gif...

    questo è il codice:

    Codice PHP:
    <?php
    Header
    ("Content-type: image/jpeg");
    $orig_image imagecreatefromjpeg($_GET['img']);
     list(
    $width$height$type$attr) = getimagesize($_GET['img']);
    if (
    $width 190) {
    $ratio 190 $width;
    $newheight $ratio $height; }
    else 
    $newheight $height;
    $sm_image imagecreatetruecolor(190,$newheight) or die ("Impossibile inizializzare le librerie GD");;
    Imagecopyresampled($sm_image,$orig_image,0,0,0,0,190,$newheight,imagesx($orig_image),imagesy($orig_image));
    imageJPEG($sm_image);
    imagedestroy($sm_image);
    imageDestroy($orig_image);
    ?>

    Qualcuno puo' aiutarmi??

    Grazie mille

  2. #2
    Che cosa significa "non funziona"?
    Che comportamento ottieni?
    Abilitando la visualizzazione degli errori, che messaggi ottieni?
    Perchè utilizzi Header("Content-type: image/jpeg"); e imagecreatefromjpeg() se devi lavorare con delle GIF?

  3. #3
    Prima di tutto, grazie per la gentile risposta. ;-)

    Non va nel senso che non restituisce l'immagine ridimensionata, ma solo la classica x rossa.
    Mentre con le img jpg visualizza le immagini ridimensionate.

  4. #4
    Originariamente inviato da gianluca2004
    Non va nel senso che non restituisce l'immagine ridimensionata, ma solo la classica x rossa.
    Mentre con le img jpg visualizza le immagini ridimensionate.
    Bene, ora rispondi alle altre due domande.

  5. #5
    Si, scusa le avevo saltate........

    utilizzo Header("Content-type: image/jpeg"); perchè prima avevo bisogno solo di lavorare con le jpg, mentre adesso dovrei lavorare anche con le gif.

    Da quello che sto cercando di capire dovrei utilizzare anche "imagecreatefromgif" ed eventualmente verificare il type.

    Con il error_reporting attivato non ottengo messaggi in merito.


    Grazie
    Gianluca

  6. #6
    Ho risolto, sembra che cosi' vada bene:

    Codice PHP:
    <?php
       $w
    "115";
       
    $h"";
       
    $file $_GET['file'];
       
    $resize $w;
       
    $altez  $h;

        
    $cosa getimagesize($file);
        
    $width = ($resize $cosa[0]) ? $resize $cosa[0];
        
    $alte = (!$altez) ? ceil(($cosa[1] * $width)/$cosa[0])+$altez;
        
    $min  imagecreatetruecolor($width$alte);
         switch(
    $cosa['mime']){
           case 
    'image/gif':
             
    header('Content-Type: image/png');
             
    $im imagecreatefromgif($file);
             
    imagealphablending($minfalse);
             
    $colorTransparent imagecolorallocatealpha($min000127);
             
    imagefill($min00$colorTransparent);
             
    imagecopyresized($min$im0000$width$alteimageSx($im), imageSy($im));
             
    imagesavealpha($mintrue);
             
    imagepng($min,'',8,PNG_ALL_FILTERS);
           break;
         
           case 
    'image/jpeg':
           case 
    'image/jpg':
             
    header('Content-Type: image/jpeg');
             
    $im imagecreatefromjpeg($file);
             
    imagecopyresized($min$im0000$width$alteimageSx($im), imageSy($im));
             
    imagejpeg($min,'',85);       
           break;     
         }
          
    imagedestroy($min);
    ?>

    Dagli un'occhiata e se puoi dammi un tuo parere/consiglio...


    Grazie
    Gianluca

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.