我在我的文件系統上有一個圖像。我使用裁剪工具將其顯示在頁面上,但是我會將其縮小以適合裁剪工具區域(如果圖像比區域小,則將其拉伸以佔據整個區域)。在這個頁面上,用戶將選擇照片的一個區域來保存(使用jcrop)並提交。php縮放圖像裁剪
在後端我會等待上一頁的座標。我會得到x1,x2,y1,y2,w和h。
問題是調整大小的圖像上的座標(向用戶顯示的座標)不適用於全尺寸的圖像,因爲它們要麼佔一個小於圖像的區域(它的大小被縮小以適合在屏幕上),或者它會比圖像更大(它被拉伸以適應屏幕)。
我可以得到原始照片的高度和寬度,以及它被強制進入的靜態寬度和高度。
如果給定已知尺寸,您會如何找到圖像的正確區域?
我當前的代碼是在這裏
$target_width = 150;
$target_height = 150;
$jpeg_quality= 90;
$tmp =explode('/',$_POST['filename']);
$src = '../uploads/'.$tmp[count($tmp)-1];
$x1 = $_POST['x1'];
$x2 = $_POST['x2'];
$y1 = $_POST['y1'];
$y2 = $_POST['y2'];
$w = $_POST['w'];
$h = $_POST['h'];
$image = imagecreatefromjpeg($src);
$final = imagecreatetruecolor($target_width, $target_height);
imagecopyresampled($final, $image, 0, 0, $x1, $y1, $target_width, $target_height, $w, $h);
imagejpeg($final, $src, $jpeg_quality);