php jquery jcrop 和 imagejpeg

Posted

技术标签:

【中文标题】php jquery jcrop 和 imagejpeg【英文标题】:php jquery jcrop and imagejpeg 【发布时间】:2011-03-05 18:21:56 【问题描述】:

这是我第一次使用 GD 的东西。 我正在尝试使用 jcrop jquery 插件来实现调整大小和裁剪。 我仍然不知道如何保存我裁剪的图像。在 jcrop 网站上没有太多关于它的内容。这是我的代码:

if ($_SERVER['REQUEST_METHOD'] == 'POST') 
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;

    $src = 'demo_files/flowers.jpg';
    $img_r = imagecreatefromjpeg($src);
    $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );

    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
            $targ_w,$targ_h,$_POST['w'],$_POST['h']);

     header('Content-type: image/jpeg');

     imagejpeg($dst_r,null,$jpeg_quality);

    exit;

我该如何处理 imagejpeg($dst_r,null,$jpeg_quality) 以实际写入图像文件并将其路径保存在我的数据库中?

提前致谢。

毛罗

【问题讨论】:

你能在你的服务器上安装 ImageMagick 吗?在我看来,这比与 GD 摔跤要容易得多。我不使用 ImageMagick php 扩展,只是通过exec() 调用命令 【参考方案1】:

如果要保存文件而不是输出文件,请执行以下两件事:

删除header('Content-type: image/jpeg');这一行 将其后的下一行更改为imagejpeg($dst_r, 'path/to/output.jpg', $jpeg_quality);

请参阅imagejpeg() 函数的文档php.net/imagejpeg

【讨论】:

嗨,马克,感谢您的回答。一个问题:'path/to/output.jpg' 是保存裁剪图像的路径吗? 确实如此。文档说:“保存文件的路径。如果不设置或为NULL,将直接输出原始图像流。”

以上是关于php jquery jcrop 和 imagejpeg的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Jcrop 和 PHP 实际上仅在 IE9 中不裁剪图像?

jQuery Jcrop 图像裁剪来源

DotNetNuke 中的 JQuery + JCrop 问题

如何使用 jcrop 裁剪正确的图像

Jcrop最新手册

带有 jcrop 的 jQuery 旋转函数