簡體   English   中英

帶jQuery的PHP GD圖像調整大小和裁剪

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM