cropperjs使用不多说网上都有很详细的介绍如下面:

https://blog.csdn.net/lxy4239/article/details/78920979

主要讲下使用的经历

裁剪后图片不失真效果显示

直接上代码:

链接:https://pan.baidu.com/s/1W1liylZzUwKNSt0CBIravw  密码:fypq

等比裁剪:

  1. <div class="btn-group btn-group-crop" id="cutout">
    <button type="button" class="btn btn-success" data-method="getCroppedCanvas" data-option="{ &quot;maxWidth&quot;: 4096, &quot;maxHeight&quot;: 4096 }">
    <span class="docs-tooltip" data-toggle="tooltip" data-animation="false">
    裁剪
    </span>
    </button>
    </div>
  1. var options = {
    aspectRatio: 0, //裁剪框比例
    preview: '.img-preview',
    crop: function (e) {
    $dataX.val(Math.round(e.x));
    $dataY.val(Math.round(e.y));
    $dataHeight.val(Math.round(e.height));
    $dataWidth.val(Math.round(e.width));
    $dataRotate.val(e.rotate);
    $dataScaleX.val(e.scaleX);
    $dataScaleY.val(e.scaleY);
    }
    };
    var originalImageURL = $image.attr('src');
    var uploadedImageURL;
  1. 提交保存后台:
    $.post('./upload.php',data,function(ret){
    var obj = eval("(" + ret + ")");
    if(obj.res=='true'){
    $('.cropper-container').css('display', 'none');
    $('#image_orc').css('display', 'block');
    $('#image_orc').attr('src','image/'+obj.src);
    $('#image_orc').css('border','1px solid #ddd');
  2.  
  3. }else{
    alert('上传失败');
    }
    },'text');
  1. <?php
    error_reporting(0);//禁用错误报告
    if (IS_POST) {
    header('Content-type:text/html;charset=utf-8');
    $base64_image_content = $_POST['imgBase'];
    //将base64编码转换为图片保存
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) {
    $type = $result[2];
    $new_file = "image/";
    if (!file_exists($new_file)) {
    //检查是否有该文件夹,如果没有就创建,并给予最高权限
    mkdir($new_file, 0700);
    }
    $img='field' . ".{$type}";
    $new_file = $new_file . $img;
    //将图片保存到指定的位置
    if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))) {
    echo json_encode(array('res' => 'true','src' => $img));
    }else{
    echo json_encode(array('res' => 'false'));
    }
    }else{
    echo 'false';
    }
  2.  
  3. }
  4.  
  5. ?>

具体不懂的地方,细节问题可以加群讨论

cropper截图不压缩PHP上传裁剪后的图片的更多相关文章

  1. vue代码上传服务器后背景图片404解决方法

    问题:代码上传服务器后,图片404,使用的font-awesome图标也是404 解决办法: 如果你用了vue-cil,那么在build目录下找到utils.js中的ExtractTextPlugin ...

  2. Django使用cropbox包来上传裁剪图片

    1.使用cropbox包来上传裁剪图片,可见介绍:https://www.jianshu.com/p/6c269f0b48c0I ImgCrop包包括:css--style.css,js--cropb ...

  3. Uploadify & jQuery.imgAreaSelect 插件实现图片上传裁剪

    在网站中需要一个图片上传裁剪的功能,借鉴这篇文章 Ajax+PHP+jQuery图片截图上传 的指点,找到了jquery.imgAreaSelect这个不错插件,能对图片进行自定义区域选择并给出坐标, ...

  4. iOS 视频录制、压缩、上传

    项目中实现功能 视频的录制.压缩.上传 首先调用系统的相机或相册 iOS录制的视频是mov格式的,安卓和PC不支持,因此要转换成MP4,并且要压缩. 获取到视频或者照片,处理的方法 下面两个方法是获取 ...

  5. 项目分享五:H5图片压缩与上传

    一.简介 图片的压缩与上传,是APP里一个很常用的功能.我们来年看 ChiTuStore 是怎样做的.相关文件 App/Module/User/UserInfo.html,App/Module/Use ...

  6. html5调用手机相机并压缩、上传

    近日刚做的一个功能,要在app里使用内嵌页面进行图像的上传.从功能上看,原生的实现应该是最好的.毕竟页面上所有的东西都隔着一个浏览器,所有的实现都要依赖浏览器提供的接口,不同的浏览器对接口的实现又有差 ...

  7. 基于Jcrop的图片上传裁剪加预览

    最近自己没事的时候研究了下图片上传,发现之前写的是有bug的,这里自己重新写了一个! 1.页面结构 <!DOCTYPE html> <html lang="en" ...

  8. 图片上传裁剪zyupload

    图片上传控件用的是zyupload控件,使用过程中遇到了一些问题,特别记录下来 上图是目前的使用效果,这个控件我是用js代码动态添加出来的 HTML代码: <div class="wi ...

  9. mui开发app之多图压缩与上传(仿qq空间说说发表)

    欲实现效果图 提出需求点: 用户可自由添加删除替换多张图片,并且显示相应缩略图,限制为8张 用户可选择压缩图或直接上传原图功能 返回提醒用户会丢失填写的信息 下面一个个实现上述需求,从简单到复杂: 需 ...

随机推荐

  1. Python批量合并处理B站视频

    最近想学习后端,又不想花钱,怎么办呢?于是在手机端B站(哔哩哔哩)上面找到了满意的免费视频教程,但是手机端看起来很不方便啊.于是,我通过在手机端缓存下来后,导入到了电脑端,但是我后面了发现两个问题: ...

  2. docker enable overlay2 quota on Centos 7

    参考文档 docker overlay2的 --storage-opt 需要启动mount 参数中有pquota 参考上边的文档mount中的xfs 含有pquota 将 /etc/fstab 文件中 ...

  3. (转)在Eclipse中进行C/C++开发的配置方法(20140721最新版)

    因准备考试原因需要在windows下配置C++标准运行环境,找到此文,Mark之. 先列举下自己遇到的情况: 1 JRE安装不上,点了exe文件后没有反应:   安装JDK!!! 2 Eclipse找 ...

  4. windows下手动安装composer并配置环境变量

    windows下手动安装composer并配置环境变量   转载地址: https://my.oschina.net/7sites/blog/209997 之前发表过一篇如何为composer设置代理 ...

  5. xtrabackup 2.4.3 BUG

    用XtraBackup对备份集进行apply log 的时候,卡在 xtrabackup 版本:2.4.3 InnoDB: Waited for 1535930 seconds for 128 pen ...

  6. Redis查漏补缺:最易错过的技术要点大扫盲

    考虑到绝大部分写业务的程序员在实际开发中使用Redis时,只会Setvalue和Getvalue两个操作,对Redis整体缺乏一个认知.又恰逢笔者有同事下周要去培训Redis,所以笔者斗胆以Redis ...

  7. ubuntu Fcitx 输入法 选择 黑框问题 解决方案

    在虚拟机装了个xubuntu,弄好fcitx 输入法后,打字时看不到选择框,被黑框折腾的不行,后来了一个方法,暂时解决了问题. 用 killall fcitx-qimpanel 结束 fcitx-qi ...

  8. JavaScript核心--Function

    什么是: 保存一段可重用的代码段的对象 何时: 只要一段代码可能反复使用时,都要封装为函数,反复调用函数 如何: 创建: 3种: 1. 直接量: function 函数名(参数列表){ 函数体; re ...

  9. python from entry to abandon4

    python from entry to abandon系列的收官之作    本篇博客将会介绍<简明Python教程>的最后四章内容.并在最后附上对于本书的个人评价和下阶段自学Python ...

  10. [ZOJ 4016] Mergable Stack

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4016 直接用栈爆内存,看网上大神用数组实现的,构思巧妙,学习了! ...