1. 程式人生 > >cropper.js裁剪圖片的使用

cropper.js裁剪圖片的使用

wid https title 圖片比例 屬性 級別 art col ctr

這兩天難得有時間可以整理一下最近學習的東西,這兩天項目中用到了頭像上傳裁剪的功能,這裏只介紹頭像的裁剪吧。

單獨實現圖片剪裁的功能還是挺容易的,入門級別的。看一遍官方給的文檔,基本上就明白了。大家如果不想看英文版的官網介紹,可以看這篇博客,講的特別好。

官網地址:http://fengyuanchen.github.io/cropper/

附上網址:https://blog.csdn.net/weixin_38023551/article/details/78792400

這篇文章講的很好。

我先說一下自己的需求:就是想要實現圖片裁剪的功能,並且要有預覽區域,獲得裁剪後的圖片後點擊確認後上傳。

預覽的頁面結構、樣式要自己設置,為了頁面美觀,可以根據裁剪框的比例來設置,根據aspectRatio這個屬性,如果不設置這個屬性的話,那這個屬性的值就是NAN。一般還是根據需求頁面需要的圖片比例來設置,這樣上傳到服務器上的圖片就是需求要求的圖片了。

具體的選項介紹可以看這篇博客,我就貼一下代碼吧。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0"/>
    <link rel="stylesheet" href="../css/cropper.css"/>
    <title>cropper 裁剪圖片並上傳demo</
title> <style> .container { width: 70%; float: left; } .img { width: 50%; } .preview-box { width: 320px; height: 180px; overflow: hidden; float: right; margin-right
: 20px; } </style> </head> <body> <div class="container" id="container"> <img src="../image/demo_img.jpg" alt="" class="img" id="demoImg"/> <!--真實項目中的路徑需要動態獲取用戶選中圖片的路徑,可以采用base64編碼的形式--> </div> <div class="preview-box"></div><!--預覽框的容器--> <script src="../js/jquery-2.1.3.min.js"></script> <script src="../js/cropper.js"></script> <script> $(#demoImg).cropper({ aspectRatio: 16 / 9,//裁剪框比例 viewMode: 0,//視圖模式 dragMode: move,//裁剪框的模式 minCanvasWidth: 300,//canvas的最小寬度,如果不設置的話,值是0 minCanvasHeight: 300, minCropBoxWidth: 400,//裁剪層的最小寬度,值為0 minCropBoxHeight: 400, preview: .preview-box }) </script> </body> </html>

附上效果圖

技術分享圖片

右側是預覽區域,左側是裁剪區域

cropper.js裁剪圖片的使用