【问题标题】:PHP GD image resize and crop w/ jQuery使用 jQuery 调整 PHP GD 图像大小和裁剪
【发布时间】: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]); } }

标签: php jquery gd crop jcrop


【解决方案1】:

您是否考虑过使用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 完美集成,我也在一个项目中使用过。

【讨论】:

  • 感谢您抽出宝贵时间发布此内容,立即查看。
猜你喜欢
  • 2010-11-03
  • 2015-02-22
  • 2015-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多