我正在尝试创建加载图像的界面,然后选择此图像的区域以保存裁剪的缩略图和原始图像。 要选择裁剪区域,我使用jquery.Jcrop插件,它在第一次注视时工作正常。 然后我将相关的x-y宽度 - 高度数据发布到我的php脚本,并尝试使用以下代码行保存缩略图:
$source = imagecreatefromjpeg(UPLOADED_IMAGE);
$target = imagecreatetruecolor(TWIDTH, THEIGHT);
imagecopyresampled($target,$source,0,0,$_POST['x'],$_POST['y'],
TWIDTH,THEIGHT,$_POST['w'],$_POST['h']);
imagejpeg($target, FINAL_THUMBNAIL_DIRECTORY.$targetFile, 100);
确保所有数据都正确无误:
$imageSize = getimagesize(UPLOADED_IMAGE);
echo UPLOADED_IMAGE . "\n";
echo $imageSize[0] . "x" . $imageSize[1] . "\n";
echo TWIDTH . "x" . THEIGHT . "\n";
echo $_POST['x'] . "x" . $_POST['y'] . " - " . $_POST['w'] . "x" . $_POST['h'] . "\n";
echo FINAL_THUMBNAIL_DIRECTORY.$targetFile . "\n";
exit();
正如您在此图像上看到的那样(警报窗口中的php脚本的结果),我脚本中传递的所有变量都是有效的。 UPLOADED_IMAGE可以通过此链接获得,但最终保存的图像为200x150且纯黑色。
可能导致此问题的原因是什么?我正在解决这个问题几天,虽然我不是一个php程序员,代码看起来很简单