Ya he podido RECORTAR una imagen, es decir, si dada una imagen de 2048 de alto x 1500 de ancho, he podido generar una imagen de 1500x1500 px, cuyo contenido son los 200px desde la esquina superior izquierda, es decir, he logrado capturar el rostro de cada alumno, aquí el siguiente código:
Código PHP:
$img_original=imagecreatefromjpeg($imagen);
// Recortamos la imagen
$src_x = '0'; // comienza x
$src_y = '0'; // comienza y
$src_w = '200'; // nuevo ancho
$src_h = '200'; // nuevo alto
$dst_x = '0'; // termina x
$dst_y = '0'; // termina y
//CREO UNA IMAGEN EN COLOR REAL CON LA NUEVAS DIMENSIONES
$img_reajustada = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($img_reajustada, 255, 255, 255);
imagefill($img_reajustada, 0, 0, $white);
imagecopy($img_reajustada, $img_original, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
//Guardo la imagen recortada en el servidor
$nombre_img_ext=$ruta.$mail.$extension;
$nombre_img=$ruta.$mail;
imagejpeg($img_reajustada,$nombre_img_ext,100);
Habia pensado usar imagecopyresampled pero no sé como pasarle el resultado de imagecopy (ver código) o si existe otra forma de hacerlo para que la imagen final sea de 200px x 200px
Tambien he pensado en tomar el resultado de imagecopy y pasarselo a imagecopyresampled pero no me funciona, sería algo como esto:
Código PHP:
$imagen_ya_recortadaaa = imagecopy($img_reajustada, $img_original, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
imagecopyresampled($img_reajustada, $imagen_ya_recortadaaa, 0, 0, 0, 0, $src_w, $src_h, $ancho_original, $alto_original);