cropper固定宽高裁剪_cropper.js 图片剪裁功能使用

本文档介绍了如何使用cropper.js库进行图片裁剪,特别是设置固定宽高比的裁剪功能。通过实例代码展示裁剪图片的步骤,包括禁用某些功能,设置裁剪比例,并在裁剪后将结果转换为canvas,进一步处理成blob上传到服务器。
摘要由CSDN通过智能技术生成

window.addEventListener('DOMContentLoaded', function () {

var image = document.querySelector('#image');

var previews = document.querySelectorAll('.preview');

var $alert = $('.alert');

cropper = new Cropper(image, {

scalable:false,    //参数  由需求自定义

zoomable:false,

background:false,

viewMode:1,

aspectRatio:ratio,  //裁剪框比例设置动态改变的,由外界参数决定(单独使用可设置常量)

checkCrossOrigin:false,

checkImageOrigin:false,

dragCrop:false,

modal:false,

dragMode:'move',

movable:false

});

document.getElementById('crop').addEventListener('click', function () {

var initialAvatarURL;

var canvas;

if (cropper) {

canvas = cropper.getCroppedCanvas({});

initialAvatarURL = image.src;

pic_data = canvas.toDataURL();

// canvas.toBlob(function (blob) {  报错

//  var formData = new FormData();

//  formData.append('file', blob, 'cropper.jpg');

//  formData.append('category','bbs_post_recom/cropper');

// });

//调用自定义方法处理  canvas.toBlob() 失败事件

blob = processData(pic_data);//自定义方法解决canvas.toBlob() 失败

var formData = new FormData();

formData.append('file', blob, 'cropper.jpg');

formData.append('category','bbs_post_recom/cropper');

$.ajax('pic_upload', {

method: 'POST',

data: formData,

processData: false,

contentType: false,

success: function (data) {

da = JSON.parse(data);

if(da.ret == 1){    //保存成功后的操作

.....

}else{

alert(da.msg);

}

},

error: function (data) {

image.src = initialAvatarURL;

},

complete: function () {

},

});

}

});

});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值