Vale, he conseguido hacer las dos cosas, primero redimensionar y luego dibujar el marco donde yo quiera.
Código:
<?php
$Ruta="../../Public/Fotos/1-F.jpg";
$ancho = 450;
$alto = 300;
$x1=157;
$x2=328;
$y1=98;
$y2=285;
/////////////////////////////////////////////////////////////////////////////
///// Redimension del tamaño de la imagen subida a 400 x 350. //////
///////////////////////////////////////////////////////////////////////////
//Creación de imagen a partir de la ruta.
$Imagen = imagecreatefromjpeg($Ruta);
//Altura y anchura de imagen inicial.
$img_w = imagesx($Imagen);
$img_h = imagesy($Imagen);
//Crea una imagen nueva con color real.
$Img = imagecreatetruecolor($ancho,$alto);
//Copiamos la imagen inicial a la nueva imagen redimensionandola.
imagecopyresized($Img,$Imagen,0,0,0,0,$ancho,$alto,$img_w,$img_h);
//////////////////////////////////////////////////////////////////////////////
////////// Creación de marco en imagen ya redimensionada ///////////
///////////////////////////////////////////////////////////////////////////
$negro=imagecolorallocate($Img,0,0,0);
$cristal=imagecolorallocatealpha($Img,153,255,233,65);
//Dibuja el rectángulo relleno del color indicado
imagefilledrectangle($Img,$x1,$y1,$x2,$y2,$cristal);
//Dibuja el borde del rectángulo
imagerectangle($Img,$x1,$y1,$x2,$y2,$negro);
/////////////////////////////////////////////
////////// Salida de la imagen ///////////
///////////////////////////////////////////
//Tipo de salida que tendrá el documento.
header("Content-type: image/jpeg");
//Mostramos la imagen
imagejpeg($Img);
?>
Pero tengo un problema...
Quiero que la imagen empiece en el punto 30,30 no en el 0,0.
He mirado de hacerlo sobre la función imagecopyresized pero corta la imagen en vez de moverla...
Existe algo para remediar esto?