0

我正在使用 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);
4

1 回答 1

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数组中获取裁剪数据。

于 2012-09-19T04:41:34.073 回答