[英]PHP GD image resize and crop w/ jQuery
只是想在我的網站上放置一個用於縮略圖的簡單裁剪器。 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中有不正確的東西。
您是否考慮過使用timthumb ? 這只是1個腳本,如果您傳遞正確的參數,它會為您做所有事情。 例如(未測試),如果您想要類似以下的圖像:
width = 100
height = 75
quality = 90%
crop x = 0
crop y = 0
crop width = 100
crop height = 75
您只需要對以下內容進行請求:
http://yourserver.com/timthumb.php?src=path/to/image.png&w=100&h=75&q=90&cx=0&cy=0&cw=100&ch=75
從左上角開始,這將導致圖像的縮略圖為100x75。 Timthumb與jCrop完美集成,我也在項目中使用過它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.