2015-01-05 6 views
6

Sto cercando di ritagliare l'immagine originale con le coordinate X, Y, Larghezza e Altezza date. Ma non ritaglia l'immagine correttamente.Come posso ritagliare l'immagine in php con le coordinate date di X, Y, Larghezza e Altezza

Ecco il mio codice

header('Content-type: image/jpeg'); 
    $source_x = $_POST['x']; 
    $source_y = $_POST['y']; 
    $width = $_POST['w']; 
    $height = $_POST['h']; 

    $dest = imagecreatetruecolor($width, $height); 

    $src = imagecreatefromjpeg('path of the orignal Image'); 

    imagecopy($dest, $src, 30, 30, $source_x, $source_y, $width, $height); 

    $cropped_image = "Path where to store the cropped image"; 

    imagejpeg($dest, $cropped_image, 100); 

Utilizzando sopra il codice, sono in grado di ritagliare l'immagine, ma non raccolto nel data coordinate.

Qualsiasi aiuto sarà utile.

+0

http://stackoverflow.com/questions/6594089/calculating-image-size-ratio -per-ridimensionare –

+0

@Kiren Siva Non voglio ridimensionare l'immagine. Voglio ritagliare la parte dell'immagine e salvare solo quella immagine ritagliata. – Nitin

risposta

1

È necessario utilizzare la funzione PHP imagecrop. Ecco il link al manuale:

Quindi, nel tuo caso sarebbe simile a questa:

$to_crop_array = array('x' =>$source_x , 'y' => $source_y, 'width' => $width, 'height'=> $height); 
$dest = imagecrop($src, $to_crop_array);