
#!/usr/bin/perl
print "Content-type:text/html\n\n";
use CGI::Carp(fatalsToBrowser);
$nome = "C:/apache/htdocs/leopard.jpg"; #Imagem Original
$saida= "C:/apache/htdocs/thumbnails"; #Saída das Thumbnails
$ext = "png"; # Extensão de saída. PNG ou JPEG
$n_l = "100"; # Nova largura que as thumbnails terão. Altura será automática.
### - Chamamos o GD - ###
use GD
### ---------------------- ###
;&cria_thumb;
##### Imprime resposta ao browser #####
print qq|
<html>
<head>
<title>Resizer Demo</title>
<style>
A {text-decoration:none}
</style>
</head>
<body bgcolor="#333333">
<div align="center">
<b><font face="Arial" size="3" color="#FFFFFF">
Thumbnail criada!
<br><br><br></font></b>
</div>
<div align="right">
<a href="http://www.thestonerock.co.nr" target="_blank">
<font face="Arial" size="1" color="#CCCCCC">
© Stone Rock
</font></a>
</div>
</body<
</html>
|;
#######################################
sub cria_thumb{
$original = newFromJpeg GD::Image("$nome"); # Cria imagem
$n_original = newFromJpeg GD::Image("$nome"); #Cria imagem para edição
($l,$a) = $n_original->getBounds(); # Pega as dimensões
if ($ext eq "png"){$ext = png;}else{$ext = jpeg;} # Pega extensão
##### Calcula dimensões #####
$n_a = ($n_l*$a);
$n_a = ($n_a/$l);
#######################
$THUMB = new GD::Image($n_l,$n_a); # Cria imagem vazia para a thumbnail
$THUMB->copyResized($n_original,0,0,0,0,$n_l,$n_a,$l,$a); # Coloca os dados na imagem
$nome =~ s/.*(\/|\\)//gi; # Pega o nome da imagem
##### Grava a imagem #####
open (THUMB,">$saida/thumb_$nome") or die "$!";
binmode THUMB;
print THUMB $THUMB->jpeg;
close(THUMB);
######################
}