С GD это должно работать следующим образом:
// Open source image
$srcImg = imagecreatefromjpeg ( $filename );
// Create new image for the cropped version
$destImg = imagecreate ( 45, 53 );
// Calculate the upper left of the image-part we want to crop
$startX = x - 45 / 2;
$startY = y - 53 / 2;
// Copy image part into the new image
imagecopy ( $destImg, $srcImg , 0, 0, $startX, $startY, 45, 53 );
// Write the new image with quality 90
imagejpeg($destImg, 'newfile.jpg', 90);
Возможно, вы захотите проверить округленные координаты, поскольку ваше изображение может размыться, если вы этого не сделаете.Вы должны проверить, соответствуют ли ваши координаты обрезанного изображения исходному изображению, если пользователь, скажем, выбирает угол в качестве точки.