$w ){ $newheight = ($w / $newwidth) * $newheight; $newwidth = $w; } if( $newheight > $h ){ $newwidth = ($h / $newheight) * $newwidth; $newheight = $h; } // if( (GDVersion() == 2) AND ($size[2] != 1) ){ $new = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($new, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]); // } // else{ // $new = imagecreate($newwidth, $newheight); // imagecopyresized($new, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]); // } header('Content-Type: ' . $size['mime']); if( $size[2] == 2 ){@imagejpeg($new, '', 100);} elseif( $size[2] == 1 ){@imagegif($new);} elseif( $size[2] == 3 ){@imagepng($new);} @imagedestroy($im); @imagedestroy($new); } function salvaFoto($foto,$foto_nome,$path,$max,$meth,$quality) { $image = $path . $foto_nome; copy($foto, $image); // controllo le dimensioni $filesize = filesize($image); $imagesize = @getimagesize($image); //echo "
max:" . $imagesize[0]; //echo "----------------------------"; if ($imagesize == null){ $ERROR = "'$image' non è un immagine !"; @unlink($image); }else{ if(max($imagesize[0],$imagesize[1]) > $max){ //echo "ciao"; resize_image($image, $image, $max, $meth, $quality); } } return $image; } define("GIS_GIF", 1); define("GIS_JPG", 2); define("GIS_PNG", 3); // Resize an image function resize_image($src_file, $dest_file, $w, $h, $method, $quality) { global $CONFIG, $ERROR; $imginfo = @getimagesize($src_file); if ($imginfo == null) return false; // GD can only handle JPG & PNG images if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || $method == 'gd2')) { $ERROR = "Quando usi GD gli unici standard permessi sono JPEG e PNG."; return false; } // height/width prelevo i valori $newwidth = $imginfo[0]; $newheight = $imginfo[1]; $srcWidth = $imginfo[0]; $srcHeight = $imginfo[1]; if( $newwidth > $w ){ $newheight = ($w / $newwidth) * $newheight; $newwidth = $w; } if( $newheight > $h ){ $newwidth = ($h / $newheight) * $newwidth; $newheight = $h; } $destWidth = $newwidth; $destHeight = $newheight; // Method for thumbnails creation switch ($method) { case "im" : // 'Escape shell arguments' is mandatory under Unix but confuses windows if (preg_match("/\A[a-z]:/i",__FILE__)){ $src_file = '"'.$src_file.'"'; $im_dest_file = str_replace('%', '%%', ('"'.$dest_file.'"')); } else { $src_file = escapeshellarg($src_file); $im_dest_file = str_replace('%', '%%', escapeshellarg($dest_file)); } //exec ("convert -quality $quality -antialias -geometry {$destWidth}x{$destHeight} $src_file $im_dest_file"); exec ("convert -quality 40 -antialias -geometry {$destWidth}x{$destHeight} $src_file $im_dest_file"); break; case "gd1" : if ($imginfo[2] == GIS_JPG) $src_img = @imagecreatefromjpeg($src_file); else $src_img = @imagecreatefrompng($src_file); if (!$src_img){ $ERROR = "L'immagine non è valida !"; @unlink($src_file); return false; } $dst_img = imagecreate($destWidth, $destHeight); imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight); imagejpeg($dst_img, $dest_file, $quality); imagedestroy($src_img); imagedestroy($dst_img); break; case "gd2" : if ($imginfo[2] == GIS_JPG) $src_img = @imagecreatefromjpeg($src_file); else $src_img = @imagecreatefrompng($src_file); if (!$src_img){ $ERROR = "L'immagine non è valida !!"; @unlink($src_file); return false; } $dst_img = imagecreatetruecolor($destWidth, $destHeight); imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight); imagejpeg($dst_img, $dest_file, $quality); imagedestroy($src_img); imagedestroy($dst_img); break; } // We check that the image is valid $imginfo = @getimagesize($dest_file); if ($imginfo == null){ $ERROR = "Non è stato possibile ridimensionare l'immagine !"; @unlink($src_file); return false; } else { return true; } } ?>