2015-01-05 36 views
6

Próbuję przyciąć oryginalny obraz z podanymi współrzędnymi X, Y, Szerokość i Wysokość. Ale nie przycina ona obrazu prawidłowo.Jak mogę przyciąć obraz w php przy zadanych współrzędnych X, Y, Szerokość i Wysokość

Oto mój kod

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); 

Stosując powyższy kod, jestem w stanie przyciąć obraz, ale nie przyciąć w dany współrzędnych.

Każda pomoc będzie przydatna.

+0

http://stackoverflow.com/questions/6594089/calculating-image-size-ratio do zmiany rozmiaru –

+0

@Kiren Siva Nie chcę zmieniać rozmiaru obrazu. Chcę przyciąć część obrazu i zapisać tylko ten przycięty obraz. – Nitin

Odpowiedz

1

Powinieneś użyć funkcji PHP imagecrop. Oto link do instrukcji:

Więc w twoim przypadku to będzie wyglądać następująco:

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