我正在使用jCrop裁剪图像。此代码之前在另一个页面中工作,但是当我为不同的页面实现它时,它似乎正在播放。
当我运行此代码时,代码将原始图像放大,将其压扁,然后将整个图像放入我打算裁剪到的框中。
值在$ _POST值中正确地从jCrop返回。
$origURL=$_POST['CelebrityPicURL'];
$x = $_POST['x'];
$y = $_POST['y'];
$w = $_POST['w'];
$h = $_POST['h'];
$targ_w = $targ_h = 300;
$jpeg_quality = 90;
$img_r = imagecreatefromjpeg($origURL);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
$targ_w,$targ_h,$_POST['w'],$_POST['h']);
imagejpeg($dst_r,$origURL,$jpeg_quality);
答案 0 :(得分:0)
您只需使用imagecopy()
即可。有点像...
$dst_r = imagecreatetruecolor((int) $w, (int) $h);
imagecopy($dst_r, $img_r, 0, 0, (int) $x, (int) $y, (int) $w, (int) $h);
当然,您还需要检查越界条件并正确处理它们。如果您正在从$targ_w
数组中裁剪数据,请不确定为什么要设置和/或使用$targ_h
和$_POST
。