cropper裁剪圖片(一)
阿新 • • 發佈:2019-01-11
1、前言
在上傳圖片的過程中,我們經常會限制上傳圖片的尺寸,但是我們的圖片來源尺寸各異。所以在上傳之前需要先裁剪圖片然後再上傳。今天使用一種外掛cropper.js這個外掛完成幾個小demo,記錄一下,以備後續使用。
2、使用前準備
cropper該外掛有兩種版本,一種是依賴於jquery,另一種則不依賴,使用原生的JS。本例使用依賴jquery的版本。
使用的時候需要引入依賴的js和css:(可以直接才github上去下載)
<link rel="stylesheet" href="css/cropper.css">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/cropper.js"></script>
3、示例—通過縮放圖片來裁剪圖片
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>圖片裁剪示例</title>
<link rel="stylesheet" href="css/cropper.css">
<style type="text/css">
.container,img{
width: 400px;
height: 300px;
float: left;
}
button{
margin-top: 9px;
width: 70px;
height: 30px;
}
.preview {
width: 120px;
height: 90px;
overflow: hidden;
float: left;
margin-left: 15px;
}
.btn-div{
margin-top: 320px;
}
</style>
</head>
<body>
<h3>圖片源</h3>
<div class="container">
<img id="image" src="img/mm.jpeg"/>
</div>
<div class="preview"></div>
<div class="btn-div">
<button id="btn">裁剪</button>
<button id="reset">重置</button>
</div>
<h3>裁剪結果</h3>
<div id="result"></div>
</body>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/cropper.js"></script>
<script type="text/javascript">
$(function(){
//初始化資料
$("#image").cropper({
aspectRatio: 4 / 3, //顯示裁剪比例
preview: '.preview', //這裡預覽如果沒有效果,需要加上一段css(overflow: hidden)
viewMode: 3, //全屏鋪滿,再縮小都沒有空隙
dragMode: 'move', //制動拖動方式
autoCropArea: 1, //合適裁剪區域的比例
restore: false, //調賬視窗大小,不儲存裁剪區域
modal: false, //取消遮罩
guides: false, //去掉裁剪虛線
highlight: false, //取消高亮裁剪框
cropBoxMovable: false, //禁止裁剪框移動
cropBoxResizable: false //禁止裁剪框改變大小
});
$("#btn").click(function(){
//獲取裁剪的圖片資訊
/*
如果是外界傳值的話,需要在官網查詢有沒有set方法,如果有可以用$().cropper("set方法名","需要賦的值"),這樣的方法傳遞。
*/
var croppedCanvas = $("#image").cropper('getCroppedCanvas');
$("#result").empty().html('<img src="' + croppedCanvas.toDataURL() + '">');
});
$("#reset").click(function(){
//還原圖片的初始值,reset方法時cropper中自帶的方法。
$("#image").cropper('reset');
});
});
</script>
</html>
3、執行效果
4、參考資料
官網: https://www.awesomes.cn/repo/fengyuanchen/cropper
官網示例:http://fengyuanchen.github.io/cropper/
技術部落格:http://www.jianshu.com/p/b252a7cbcf0b