Bem, estou simplesmente transcrevendo um script que utilizei a partir do livro “PHP para quem conhece PHP” - http://novatec.com.br/livros/phpavancado/
Nesse script a imagem pode ser redimensionada percentualmente ou com tamanhos fixos definidos pelo programador. Além disso a imagem deve ser JPG. Ainda irei trabalhar em cima dele mas acho que para quem procura algo simples já resolve um bocado!
Para usar o arquivo é só digitar: http://localhost/caminho/gera_miniatura.php?imagem=nome_da_imagem.jpg
Obviamente substituindo o caminho pelo definido por você e o nome_da_imagem pelo nome da imagem que você está utilizando (ela deve estar no mesmo diretório que o arquivo gera_miniatura.php
Só lembrando que no seu WEbServer a biblioteca GD precisa estar habilitada (em geral já está por default).
——————————-
gera_miniatura.php:
<?
$imagem = $_GET['imagem'];
$tamanho_fixo = “N”; //Caso deseja altura e largura fixa (definidas abaixo) troque por “S”
$altura_fixa = 192; //Caso $tamanho_fixo = “S”
$largura_fixa = 144; //Caso $tamanho_fixo = “S”
$percentual = 40; //Caso $tamanho_fixo = “N”
if (!file_exists($imagem))
{
echo (“Arquivo não encontrado”);
exit;
}
if ($tamanho_fixo==”N” && ($percentual<1 || $percentual>100)){
echo (“Percentual deve ser entre 1 e 100″);
exit;
}
$arquivo_mini = explode (“.”,$imagem);
$arquivo_mini = $arquivo_mini[0].”_mini.jpg”; //Adiciona _mini.JPG na imagem gerada
//Abaixo as dimensões da imagem original
$img_origem = ImageCreateFromJPEG($imagem);
$origem_x = ImagesX($img_origem);
$origem_y = ImagesY($img_origem);
if ($tamanho_fixo==”S”){
$x = $largura_fixa;
$y = $altura_fixa;
}else{
$x = intval ($origem_x * $percentual / 100);
$y = intval ($origem_y * $percentual / 100);
}
//Cria a imagem final (miniatura)
$img_final = ImageCreateTrueColor($x,$y);
//Copia a imagem original redimensionada para dentro da imagem final
ImageCopyResampled($img_final,$img_origem,0,0,0,0,$x+1,$y+1,$origem_x,$origem_y);
//Salva o arquivo
ImageJPEG($img_final,$arquivo_mini);
//Libera memória alocada para as duas imagens
ImageDestroy($img_origem);
ImageDestroy($img_final);
?>
<html>
<head>
<title>Miniaturas</title>
</head>
<body>
<p align=”center”>
<img src=”<?echo $imagem;?>”>
<br>
<img src=”<?echo $arquivo_mini;?>”>
</p>
<p align=”center”>
<b>Imagem Original</b>: <?echo $imagem.”(“.$origem_x.”x”.$origem_y.”)”;?><br>
<b>Imagem Gerada</b>: <?echo $arquivo_mini.”(“.$x.”x”.$y.”)”;?><br>
</p>
</body>
</html>
——————————-


