as funções no PHP é uma tarefa simples, vamos ver como isso é feito.
A teoria do redimensionamento é bem simples,
- obtem-se as medidas da foto original;
- divide-se a altura pela largura, isso serve para obter o fator de escala assim é possivel redimensionar proporcionalmente;
- multiplique a largura desejada pelo fator de escala(obtido no passo anterior), o resultado é a nova altura da imagem redimensionada;
- copie a imagem original redimensionado para a medidas obtidas
Usarei como exemplo, um de meus papeis de parede (1152x864px)
Na prática:
<?php
// tutorial para redimensionar imagens
$foto="f1.jpg"; // nome do arquivo original
$larg=320; // largura do arquivo ja redimensionado (em PX)
// carrega imagem
$original=imagecreatefromjpeg($foto);
// pega a largura da foto original
$larg_foto=imagesx($original);
// pega a altura da foto original
$alt_foto=imagesy($original);
// faz o calculo da proporção altura/largura
// afinal queremos que seja redimensionado proporcionalmente
$fator=$alt_foto/$larg_foto;
// faz o calcula da altura nova
$altura_nova=$larg*$fator;
// cria uma nova imagem com as dimensões reduzidas
$saida=imagecreatetruecolor($larg,$altura_nova);
// cria uma cópia redimensionada na imagem nova
imagecopyresized($saida,$original, 0, 0, 0, 0,$larg,$altura_nova,$larg_foto,$alt_foto);
// grava a imagem nova em arquivo com qualidade 80
imagejpeg($saida,"mini_foto.jpg",80);
// libera os recursos no servidor
imagedestroy($saida);
imagedestroy($original);
// fim :)
// viu como é simples?
?>
------------------------------------------------
Como resultado teremos uma imagem com 320x240px