2015-01-05 6 views
6

Ich versuche, das Originalbild mit vorgegebenen X, Y, Breite und Höhe Koordinaten zuzuschneiden. Aber es schneidet das Bild nicht richtig ab.Wie kann ich das Bild in PHP mit vorgegebenen Koordinaten von X, Y, Breite und Höhe beschneiden

Hier ist mein 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); 

obigen Code verwenden, kann ich das Bild zuzuschneiden, aber es Ernte nicht in bestimmten koordinieren.

Jede Hilfe wird nützlich sein.

+0

http://stackoverflow.com/questions/6594089/calculating-image-size-ratio -for-resizing –

+0

@Kiren Siva Ich möchte nicht die Größe des Bildes ändern. Ich möchte den Bildausschnitt beschneiden und nur das zugeschnittene Bild speichern. – Nitin

Antwort

1

Sie sollten die PHP-Funktion imagecrop verwenden. Hier ist der Link zum Handbuch:

in Ihrem Fall So würde es so aussehen:

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