我正在拍攝源圖像並嘗試基於用戶選擇裁剪它。它總是留下一個黑色的空白空間,我認爲它與我使用的參數不正確的順序有關。在查看php文檔中的imagecopyresampled()之後,我仍然想盡一切辦法來完成這項工作。imagecopyresampled裁剪黑色條
這是我的。我爲示例使用了硬編碼值,但每個圖像的每個$targ_
變量都會發生變化。
$targ_w = 183; // width of cropped selection
$targ_h = 140; // height of cropped selection
$targ_x = 79; // x-coordinate of cropped selection
$targ_y = 59; // y-coordinate of cropped selection
$targ_x2 = 263; // x-coordinate of 2nd point (end of selection)
$targ_y2 = 199; // y-coordinate of 2nd point (end of selection)
$src = '/uploads/test.png';
$img_r = imagecreatefrompng($src);
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);
imagecopyresampled($dst_r,$img_r,0,0,$targ_x,$targ_y,$targ_x2,$targ_y2,$targ_w,$targ_h);
$newFileName = '/uploads/test2.png';
imagepng($dst_r, $newFileName, 9);
如果我只是在錯誤的路徑上,請糾正我,但您的變量標識符建議您使用需要維度的座標。順序是_dest座標 - 源座標 - 目標尺寸 - 源尺寸_ – Andre
它們是座標,但在技術上不是它們的尺寸,因爲我選擇的x和y要裁剪? –
由於裁剪區域的尺寸(也是尺度)應該保留,因此目標尺寸和來源(=作物面積)尺寸必須相同。請參閱下面的答案。 – Andre