Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/01/2012, 02:24
vitro012
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 1 mes
Puntos: 4
De acuerdo Respuesta: Recortar imagen desde el centro

También estoy en busca de recortar imagenes, esta es la primer version del Script que estoy haciendo, te Explico:

Código PHP:
//obtengo los datos de  la imagen de prueba
list($ancho$alto$tipo$atributos) = getimagesize('img.jpg');

//Creo una ventana o mascara, es la parte que se mostrara de la imagen original.
//en este caso la mascara sera menor en un 20% a la original,  
//para ello recortare las orillas en 20%

$porcentaje=0.20;// si aumentas este número, será más la parte que recortes.
echo $ventanaAncho=$ancho-($ancho*$porcentaje);
echo 
"<br />";
echo 
$ventanaAlto=$alto-($alto*$porcentaje);
echo 
"<br />";
echo 
"<br />";
//↑ Son el tamaño de la ventana, intenta también con números fijos.
// $ventanaAncho=400; // por ejemplo
// $ventanaAncho=150; // por ejemplo


//muestro los atributos para ver el ancho y alto de la imagen de prueba
echo  $atributos;                     
echo 
"<br />";
//Estas son las coordenadas donde comenzara la ventana, 
//me ayuda a centrar la ventana.
echo $Ax=($ancho-$ventanaAncho)/2;      echo "<br />";
echo 
$Ay=($alto-$ventanaAlto)/2;
echo 
"<br />";

//creo "copia" de la imagen de prueba.
$original imagecreatefromjpeg('img.jpg');

//creo la imagen donde voy a montar la ventana o imagen recortada.
$thumb imagecreatetruecolor($ventanaAncho,$ventanaAlto); 

//Creo la imagen.
imagecopyresampled($thumb,$original,$Ax ,$Ay ,$ventanaAncho,$ventanaAlto,$ventanaAncho,$ventanaAlto); 
$laimagen=imagejpeg($thumb,'imgp.jpg',90);

//imagecopyresampled($dst_image, $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h )
/*
tomará un área rectangular de src_image ('img.jpg') en este caso.
de ancho src_w
y alto src_h
en la posición (src_x,src_y)       [Ax Y Ay] en este caso.
y la coloca en un área rectangular de dst_image
de ancho dst_w
y alto dst_h
en la posición (dst_x,dst_y). 
*/ 

Espero se entienda y mejor aún, te sirva.


Suerte!!!