Como redimensionar imagens com PHP
18 Outubro 2009
Escrito por Gonçalo Martins

Redimensionar uma imagem com php pode ser um processo complicado. Quando por exemplo um wordpress redimensiona uma imagem utiliza o script phptumb na maioria das vezes, no entanto a minha experiência diz-me que esta não é a melhor forma de criar Thumbnails num site web. Pelos mais diversos motivos, motivos esses que não discutirei neste artigo.
Na minha óptica como developer de websites, o melhor script e que menos recursos utiliza, uma vez que é extremamente simples e com alguma imaginação é possÃvel criar virtualmente qualquer thumbnail num website com uma qualidade superior à média dos scripts disponÃveis é o que lhe apresento de seguida. function redimensiona($filename, $tmpname, $xmax, $ymax)
{
   $ext = explode(".", $filename);
   $ext = $ext[count($ext)-1];
   if($ext == "jpg" || $ext == "jpeg")
       $im = imagecreatefromjpeg($tmpname);
   elseif($ext == "png")
       $im = imagecreatefrompng($tmpname);
   elseif($ext == "gif")
       $im = imagecreatefromgif($tmpname);
   $x = imagesx($im);
   $y = imagesy($im);
   if($x <= $xmax && $y <= $ymax)
       return $im;
   if($x >= $y) {
       $newx = $xmax;
       $newy = $newx * $y / $x;
   }
   else {
       $newy = $ymax;
       $newx = $x / $y * $newy;
   }
   $im2 = imagecreatetruecolor($newx, $newy);
   imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
   return $im2;
}
Trackback(0)
Março 02, 2010