Jag hackade ihop detta för en sida jag gjorde.
<?
//Skriptet tar argumenten från URL:n ex: ?album=ZKV8--&pic=bild.jpg
function thumb($galleri,$name)
{
//Thumbnail-skript
$bild_url = $galleri.$name;
$y = 76; //Ny höjd på bilden
$x = $y; //Ny bredd på bilden
// Läser in den stora bilden och kollar storleken på den.
$stor_bild = imagecreatefromjpeg ($bild_url);
$stor_x = imagesx ($stor_bild);
$stor_y = imagesy ($stor_bild);
// Räknar ut $k som är förhållandet mellan bredden och höjden.
$k = ($stor_x > $stor_y)?$x/$stor_x:$y/$stor_y;
// Räknar ut bredden och höjden på mini-bilden.
$liten_x = round($k * $stor_x);
$liten_y = round($k * $stor_y);
//Startpunkter för lilla bilden
$dst_x = ($liten_x > $liten_y)?"0":round(($x-$liten_x)/2);
$dst_y = ($liten_y > $liten_x)?"0":round(($y-$liten_y)/2);
// Skapar bilden.
$liten_bild = imagecreatetruecolor ($x, $y);
$white = imagecolorallocate($liten_bild, 255, 255, 255);
$border = imagecolorallocate($liten_bild, 230, 230, 230);
imagefill($liten_bild, 0, 0, $white);//Färga bakgrunden vit
imagecopyresampled ($liten_bild, $stor_bild, $dst_x, $dst_y, 0, 0, $liten_x, $liten_y, $stor_x, $stor_y);
imagerectangle($liten_bild, $dst_x, $dst_y, $dst_x+$liten_x-1, $dst_y+$liten_y-1, $border);
// Skriver ut bilden
imagejpeg ($liten_bild);
//Tar bort bilderna ur minnet på PHP.
imagedestroy ($liten_bild);
imagedestroy ($stor_bild);
}
if(isset($_GET['album']))
{
$album = "../album/".$_GET['album']."/";
$pic = $_GET['pic'];
thumb($album,$pic);
}
?>

