Categorias

Gerando thumbnails de imagens com PHP

Código simples e prático sendo um gerador de thumbs para imagens do tipo jpeg, png e gif.

Possibilitando definir a qualidade da imagem e suas dimensões (Largura x Altura) redimensionando-a proporcionalmente de acordo com o tamanho determinado para a imagem.



function gera_thumb($nome_img, $lar_maxima, $alt_maxima, $qualidade) { 

		if($qualidade == ''){ $qualidade = 100; }
		
		$size = getimagesize($nome_img);
		$tipo = $size[2];
		
		# Pega onde está a imagem e carrega	 
		if($tipo == 2){ // 2 é o JPG
		$img = imagecreatefromjpeg($nome_img);	   
		} if($tipo == 1){ // 1 é o GIF
		$img = imagecreatefromgif($nome_img);	   
		} if($tipo == 3){ // 3 é PNG
		$img = imagecreatefrompng($nome_img);	   
		}


		// Se a imagem foi carregada com sucesso, testa o tamanho da mesma
		if ($img) {
			 // Pega o tamanho da imagem e proporção de resize
			 $width  = imagesx($img);
			 $height = imagesy($img);
			 $scale  = min($lar_maxima/$width, $alt_maxima/$height);
		
			 // Se a imagem é maior que o permitido, encolhe ela!
			 if ($scale < 1) {
				 $new_width  = floor($scale*$width);
				 $new_height = floor($scale*$height);
			
				 // Cria uma imagem temporária
				 $tmp_img = imagecreatetruecolor($new_width, $new_height);
						
				 // Copia e resize a imagem velha na nova
				 imagecopyresampled ($tmp_img, $img, 0, 0, 0, 0,
				 $new_width, $new_height, $width, $height);
																	 
				// imagedestroy($img);
				 $img = $tmp_img;
				 
			  }
			  
		}	
		
		header("Content-type:image/gif");
		
		imagejpeg($img,'',$qualidade);
		
		imagedestroy($img);
		
				 
		}
		gera_thumb($_GET['img'],$_GET['x'],$_GET['y'],$_GET['q']);

///////////////////////////////////// COMO USAR ////////////////////////////////////////////
/*  */

?>


// Somente utilize a chamada abaixo para a exibição das imagens:
// x: largura(120) | y: altura(40) | q: qualidade(90)

Arquivos para Download:

imagem.php.txt