Может этот код тебе поможет

Код:
function MY_imageresize($outfile,$infile,$neww,$newh,$quality) {
$im = imagecreatefromjpeg($infile);
// Вычисляю пропорции
$k1=$neww/imagesx($im);
$k2=$newh/imagesy($im);
$k=$k1>$k2?$k2:$k1;
$k=$k1;
$w=intval(imagesx($im)*$k);
$h=intval(imagesy($im)*$k);
$w = $neww-6;
$h = $newh-6;
$im1=imagecreatetruecolor($neww,$newh);
// Заливаю фон картики белым
$ink = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im1,0,0,$neww,$newh,$ink);
// Рисую бирюзовую рамку
$ink = imagecolorallocate($im, 106, 179, 232);
imagerectangle($im1,0,0,$neww-1,$newh-1,$ink);
imagecopyresampled($im1,$im,3,3,0,0,$w,$h,imagesx($im),imagesy($im));
imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}