cropper.js裁剪圖片的使用


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

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

官網地址: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>

附上效果圖

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM