18

Out

Como redimensionar imagens com PHP

Escrito por Gonçalo Martins   

redimensionar imagens
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.

php
  1. function redimensiona($filename, $tmpname, $xmax, $ymax)
  2. {
  3.     $ext = explode(".", $filename);
  4.  
  5.     $ext = $ext[count($ext)-1];
  6.  
  7.     if($ext == "jpg" || $ext == "jpeg")
  8.         $im = imagecreatefromjpeg($tmpname);
  9.  
  10.     elseif($ext == "png")
  11.         $im = imagecreatefrompng($tmpname);
  12.  
  13.     elseif($ext == "gif")
  14.         $im = imagecreatefromgif($tmpname);
  15.  
  16.     $x = imagesx($im);
  17.  
  18.     $y = imagesy($im);
  19.  
  20.     if($x <= $xmax && $y <= $ymax)
  21.         return $im;
  22.  
  23.     if($x >= $y) {
  24.         $newx = $xmax;
  25.  
  26.         $newy = $newx * $y / $x;
  27.  
  28.     }
  29.     else {
  30.         $newy = $ymax;
  31.  
  32.         $newx = $x / $y * $newy;
  33.  
  34.     }
  35.     $im2 = imagecreatetruecolor($newx, $newy);
  36.  
  37.     imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
  38.  
  39.     return $im2;
  40.  
  41. }


Gostou deste Artigo?
Subscreva o feed RSS ou reguiste-se na Newsletter do WebLouca, agora!
Categoria:
Se preferir, pode ainda deixar um comentário

PATROCINADORES


cometarios
Trackback(0)
Icaro Davies
Março 02, 2010

Cara muito bom o post!!!!!
Eu realmente estava procurando isso, pois já tentei com geração de thumbian e não consegui =/
Mas não entendi direito esse código, na verdade não entendi como amarra-lo a função de Upload de uma foto pro exemplo.
Pode me da uma luz ? xD
vlws ^^


Escreva o seu Comentario
 
  pequeno | maior
 

busy
 

Patrocinadores do Site

Subscrever Feed



Artigos

Ultimos artigos
phpthumbAtualmente praticamente todos os websites possuem a necessidade de listar os seus artigos...
benchmarksA pouco mais de um ano falei sobre uma ferramenta para otimizar imagens (Artigos/optimize...
phpimageredRedimensionar uma imagem com php pode ser um processo complicado. Quando por exemplo um wo...
linksafiliadosNo inicio do ano escrevi um artigo onde dáva a conhecer uma forma de criar links de afili...
w3cqueeA internet e o HTML já por cá andam há algum tempo. O que você pode não saber é que...

Nuvem de Tags