【发布时间】:2012-12-27 21:54:35
【问题描述】:
只是想在我的网站上放置一个简单的缩略图裁剪器。 jQuery插件jCrop抓取坐标发给PHP就好了,我测试过了。问题是当 PHP 裁剪它时,它只会给我留下一个文件大小为“0”的空图像。这是PHP:
//GRAB DIMENSIONS
//COORDINATES OF CROPPER BOX
$getDimX = htmlspecialchars(trim(urldecode($_POST['valX'])));
$getDimY = htmlspecialchars(trim(urldecode($_POST['valY'])));
//WIDTH AND HEIGHT OF CROPPER BOX
$getDimW = htmlspecialchars(trim(urldecode($_POST['valW'])));
$getDimH = htmlspecialchars(trim(urldecode($_POST['valH'])));
//SQUARE THUMBNAIL DIMENSIONS
$targ_w = $targ_h = 150;
//DIRECTORIES
$src = '../users/'.$_SESSION['userName'].'/temp/defaultPicTempResizePng.png';
$defaultDir = '../users/'.$_SESSION['userName'].'/default/defaultPic.png';
$img_r = imagecreatefrompng($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$getDimX,$getDimY,
$targ_w,$targ_h,$getDimW,$getDimH);
imagepng($dst_r, $defaultDir, 100);
$JSONData = array('true', ' ');
echo json_encode($JSONData);
经过一番谷歌搜索,我发现有些人需要图像的原始宽度和高度。如果需要的话,这很容易获得并使用 jQuery 发送到 php,但是如果需要,我在哪里输入呢?不知道这是我做错了什么还是我的 php 中有什么不正确的地方。
【问题讨论】:
-
$JSONData = array('true', ' ');你发回一个空字符串 -
是的,在 true 之后还有更多的数据,我只是想缩短它以供 stackover 流使用,以便你们更轻松。
-
在 JS 中,我按照这些思路做了一些事情:成功:function(recievedData) { if (recievedData[0]) { alert("This Worked"); } else { alert("这不起作用,这是你得到的错误"+recievedData[1]); } }