1. 程式人生 > >cropper裁剪圖片(一)

cropper裁剪圖片(一)

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