Spero che questo ti possa essere di aiuto.
Dovrebbe funzionare, anche se non l'ho ancora provato.
Fammi saperecodice:<?php //-------------------------------------------------------------------------- // crea l'immagine thumbnail (SOLO JPEG) function create_thumbnail($filesrc,$filedst,$useratio,$maxwidth,$maxheight) { /*** $filesrc := nome del file dell'immagine sorgente $filedst := nome del file di destinazione $useratio := impostato a true permette di mantenere il rapporto larghezza/altezza per la nuova immagine $maxwidth := larghezza massima per la nuova immagine $maxheight := altezza massima per la nuova immagine **/ // Questo viene fatto con le immagini di tipo jpg $size = getimagesize($filesrc); $source = imagecreatefromjpeg($filesrc); /** Calcolo le dimensioni (larghezza, altezza) della nuova immagine con size[0] e size[1] che contengono larghezza e altezza dell'immagine sorgente **/ $sizenew = new_size($size[0],$size[1],$maxwidth,$maxheight); /** sizenew[0] = larghezza nuova => $w2 sizenew[1] = altezza nuova => $w1 $useratio : vale true o false a seconda se si vuole mantenere il rapporto alezza/larghezza dell'immagine sorgente (altrimenti la fa con le dimensioni massime ($maxwidth,$maxheight) passate alla funzione) **/ if($useratio) { $dest = imagecreatetruecolor($sizenew[0], $sizenew[1]); imagecopyresampled($dest, $source, 0, 0, 0, 0, $sizenew[0], $sizenew[1], $size[0], $size[1]); } else { $dest = imagecreatetruecolor($maxwidth, $maxheight); imagecopyresampled($dest, $source, 0, 0, 0, 0, $maxwidth, $maxheight, $size[0], $size[1]); } // si salva la nuova immagine creata imagejpeg($dest, $filedst); } //-------------------------------------------------------------------------- // calcola larghezza e altezza della nuova immagine function new_size($width,$height,$maxwidth,$maxheight) { $Rx = $width/$maxwidth; $Ry = $height/$maxheight; // decido il rapporto di compressione if($Rx > $Ry) { $newx = ceil($width/$Rx); $newy = ceil($height/$Rx); } else { $newx = ceil($width/$Ry); $newy = ceil($height/$Ry); } $sizenew = array($newx,$newy); return $sizenew; } ?>
ByeZ![]()

Rispondi quotando