Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I crop the image in php with given coordinates of X,Y,Width and Height

Tags:

php

image

crop

I am trying to crop the original image with given X, Y, Width and Height coordinates. But it does not crop the image properly.

Here is my code

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

Using above code, I am able to crop the image, But it doesn't crop in given coordinate.

Any help will be useful.

like image 764
Talk2Nit Avatar asked Jan 05 '15 10:01

Talk2Nit


1 Answers

You should use the imagecrop PHP function. Here is the link to the manual: imagecrop

So, in your case it would look like this:

$to_crop_array = array('x' =>$source_x , 'y' => $source_y, 'width' => $width, 'height'=> $height);
$dest = imagecrop($src, $to_crop_array);
like image 91
onerror Avatar answered Oct 03 '22 17:10

onerror