html 使用cropper.js完整
时间: 2023-11-18 20:03:47 浏览: 248
Cropper.js 是一个功能强大的 JavaScript 图像裁剪库,它可以轻松地在 Web 应用程序中实现图像裁剪功能。下面是使用 Cropper.js 进行图像裁剪的完整 HTML 代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Cropper.js - 图像裁剪</title>
<link href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.bootcss.com/cropper/3.1.6/cropper.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h1>Cropper.js - 图像裁剪</h1>
<div class="row">
<div class="col-md-6">
<div>
<img id="image" src="your-image.jpg">
</div>
</div>
<div class="col-md-6">
<div>
<h3>预览</h3>
<div id="preview"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button id="crop" class="btn btn-primary">裁剪</button>
</div>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdn.bootcss.com/cropper/3.1.6/cropper.min.js"></script>
<script>
$(function () {
var image = document.getElementById('image');
var cropper = new Cropper(image, {
aspectRatio: 1,
viewMode: 3,
dragMode: 'move',
autoCropArea: 0.8,
restore: false,
guides: false,
center: false,
highlight: false,
cropBoxMovable: true,
cropBoxResizable: true,
toggleDragModeOnDblclick: false,
ready: function () {
cropper.setCropBoxData({ width: 400, height: 400 });
}
});
$('#crop').click(function () {
var canvas = cropper.getCroppedCanvas({
width: 400,
height: 400,
});
canvas.toBlob(function (blob) {
var formData = new FormData();
formData.append('croppedImage', blob);
$.ajax('/upload', {
method: "POST",
data: formData,
processData: false,
contentType: false,
success: function () {
console.log('Upload success');
},
error: function () {
console.log('Upload error');
}
});
});
});
cropper.setAspectRatio(1);
cropper.replace('your-image.jpg');
});
</script>
</body>
</html>
```
在这个示例中,我们使用了 Bootstrap 来构建一个简单的 UI。首先,我们在页面中加载了 jQuery、Popper.js、Bootstrap 和 Cropper.js 库的链接。然后,我们定义了一个包含图像和预览的两个列的网格布局。我们还创建了一个裁剪按钮,当用户点击它时,我们将裁剪后的图像上传到服务器。
在 JavaScript 中,我们首先获取图像元素和 Cropper.js 实例,并设置一些默认选项,如纵横比、视图模式、拖动模式等。我们还设置了一个裁剪框,并在准备好时调用了 ready 回调函数。
最后,我们使用 setAspectRatio() 和 replace() 方法来更改图像的纵横比和替换默认图像。当用户点击裁剪按钮时,我们使用 getCroppedCanvas() 方法获取裁剪后的图像,并将其转换为 Blob 对象。然后,我们将 Blob 对象作为 FormData 发送到服务器。
阅读全文