<?php /* * Created = 17-May-06 * Author = Marcos Regis * version = 0.2 * description = Fun��o que converte e redimensiona imagens * */ ?> <?php /* Images vars */ $maxLarg = "200"; // Max Width $maxAlt = "200"; // Max Height $maxTam = "400"; // Max Size (Kbytes); $mimeImg = "png"; // Mime Type to save imagefiles function treat_image($filename,$destImage=null){ if (!is_file($filename) || is_file($destImage)) return false; if ($destImage===FALSE) $destImage=$filename; global $maxLarg; global $maxAlt; global $maxTam; global $mimeImg; list($width, $height, $type, $attr) = getimagesize($filename); // pegando os atributos $percent = min(round(($maxLarg / $width),2),round(($maxAlt/$height),2),1); // verificando se a imagem // j� n�o tem um tamanho que seja desnecess�rio interven��o $newwidth = floor($width * $percent); // Pegando a nova largura proporcional para comparar posteriormente $newheight = floor($height * $percent); // O mesmo que a largura s� que para a altura switch ($type) { /* Mime Types poss�veis 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM */ case 2 : $source = imagecreatefromjpeg ($filename); break; case 1 : $source = imagecreatefromgif ($filename); break; case 3 : $source = imagecreatefrompng ($filename); break; // case 6 : // Windows Bitmap. Pode-se incluir uma chamada de conversao aqui default : $stop = true; break; } // Load $dest = imagecreatetruecolor($newwidth, $newheight); // Resize imagecopyresized($dest, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // Output switch($mimeImg){ case "gif":imagegif($dest, preg_replace("@\.\w+$@","",$destImage).".gif" ); case "png":imagepng($dest, preg_replace("@\.\w+$@","",$destImage).".png" ); case "jpg":imagejpeg($dest, preg_replace("@\.\w+$@","",$destImage).".jpg" ); } imagedestroy($source); imagedestroy($dest); return preg_replace("@\.\w+$@","",basename($destImage) ).".$mimeImg"; } ?>