my $File = 'C:\test.jpg';
my $SizeX = 100;
my $SizeY = 100;
$New = &ThumbNail($File, $SizeX, $SizeY);
sub ThumbNail($$$) {
my ($Jpeg, $MaxH, $MaxW) = @_;
use GD;
my $MaxH = 100;
my $MaxW = 100;
my $Source = GD::Image->newFromJpeg($Jpeg);
my ($SourceW,$SourceH) = $Source->getBounds();
my $WDiff = $SourceW - $MaxW;
my $HDiff = $srcH - $MaxH;
my ($NewH, $NewW);
if ($WDiff > $HDiff) {
$NewW = $MaxW;
$NewH = int($SourceH * ($NewW / $SourceW));
} else {
$NewH = $MaxH;
$NewW = int($SourceW * ($NewHW / $SourceH));
}
print "Converting $SourceW:$SourceH to $NewW:$NewH\n";
my $NewImage = new GD::Image($NewW,$NewH);
$NewImage->copyResized($Source,0 ,0 ,0 ,0, $NewW, $NewH, $SourceW, $SourceH);
($File) = $Jpeg =~ m/(.+)\.jpg/;
$New = $File . "_thumb" . ".jpg";
open(FILE, ">$New") || die "Cannot open '$New': $!\n";
binmode(FILE);
print FILE $NewImage->jpeg;
close(FILE);
return($New);
}