国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分享cropper剪切單張圖片demo

番茄西紅柿 / 2925人閱讀

摘要:上傳頭像這個一定要設置是容器的大小

DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>上傳頭像title>
    <link href="https://cdn.bootcss.com/cropper/3.1.3/cropper.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <style type="text/css">
        body{
            text-align: center;
        }
        #user-photo {
            width:300px;
            height:300px;
            margin-top: 10px;
        }
        #photo {
            max-width:100%;
            max-height:350px;
        } //這個一定要設置,是容器的大小
        .img-preview-box {
            text-align: center;
        }
        .img-preview-box > div {
            display: inline-block;;
            margin-right: 10px;
        }
        .img-preview {
            overflow: hidden;
        }
        .img-preview-box .img-preview-lg {
            width: 150px;
            height: 150px;
        }
        .img-preview-box .img-preview-md {
            width: 100px;
            height: 100px;
        }
        .img-preview-box .img-preview-sm {
            width: 50px;
            height: 50px;
            border-radius: 50%;
        }
    style>
head>
<body>
<button class="btn btn-primary" data-target="#changeModal" data-toggle="modal">打開button><br/>
<div class="user-photo-box">
    <img id="user-photo" src="">
div>
div>
<div class="modal fade" id="changeModal" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×button>
                <h4 class="modal-title text-primary">
                    <i class="fa fa-pencil">i>
                    更換頭像
                h4>
            div>
            <div class="modal-body">
                <p class="tip-info text-center">
                    未選擇圖片
                p>
                <div class="img-container hidden">
                    <img src="" alt="" id="photo">
                div>
                <div class="img-preview-box hidden">
                    <hr>
                    <span>150*150:span>
                    <div class="img-preview img-preview-lg">
                    div>
                    <span>100*100:span>
                    <div class="img-preview img-preview-md">
                    div>
                    <span>30*30:span>
                    <div class="img-preview img-preview-sm">
                    div>
                div>
            div>
            <div class="modal-footer">
                <label class="btn btn-danger pull-left" for="photoInput">
                    <input type="file" class="sr-only" id="photoInput" accept="image/*">
                    <span>打開圖片span>
                label>
                <button class="btn btn-primary disabled" disabled="true" onclick="sendPhoto();">提交button>
                <button class="btn btn-close" aria-hidden="true" data-dismiss="modal">取消button>
            div>
        div>
    div>
div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js">script>
<script src="https://cdn.bootcss.com/cropper/3.1.3/cropper.min.js">script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js">script>
<script type="text/javascript">
    var initCropperInModal = function(img, input, modal){
        var $image = img;
        var $inputImage = input;
        var $modal = modal;
        var options = {
            aspectRatio: 1, // 縱橫比
            viewMode: 2,
            preview: .img-preview // 預覽圖的class名
        };
        // 模態框隱藏后需要保存的數據對象
        var saveData = {};
        var URL = window.URL || window.webkitURL;
        var blobURL;
        $modal.on(show.bs.modal,function () {
            // 如果打開模態框時沒有選擇文件就點擊“打開圖片”按鈕
            if(!$inputImage.val()){
                $inputImage.click();
            }
        }).on(shown.bs.modal, function () {
            // 重新創建
            $image.cropper( $.extend(options, {
                ready: function () {
                    // 當剪切界面就緒后,恢復數據
                    if(saveData.canvasData){
                        $image.cropper(setCanvasData, saveData.canvasData);
                        $image.cropper(setCropBoxData, saveData.cropBoxData);
                    }
                }
            }));
        }).on(hidden.bs.modal, function () {
            // 保存相關數據
            saveData.cropBoxData = $image.cropper(getCropBoxData);
            saveData.canvasData = $image.cropper(getCanvasData);
            // 銷毀并將圖片保存在img標簽
            $image.cropper(destroy).attr(src,blobURL);
        });
        if (URL) {
            $inputImage.change(function() {
                var files = this.files;
                var file;
                if (!$image.data(cropper)) {
                    return;
                }
                if (files && files.length) {
                    file = files[0];
                    if (/^image/w+$/.test(file.type)) {

                        if(blobURL) {
                            URL.revokeObjectURL(blobURL);
                        }
                        blobURL = URL.createObjectURL(file);

                        // 重置cropper,將圖像替換
                        $image.cropper(reset).cropper(replace, blobURL);

                        // 選擇文件后,顯示和隱藏相關內容
                        $(.img-container).removeClass(hidden);
                        $(.img-preview-box).removeClass(hidden);
                        $(#changeModal .disabled).removeAttr(disabled).removeClass(disabled);
                        $(#changeModal .tip-info).addClass(hidden);

                    } else {
                        window.alert(請選擇一個圖像文件!);
                    }
                }
            });
        } else {
            $inputImage.prop(disabled, true).addClass(disabled);
        }
    }

    var sendPhoto = function(){
        $(#photo).cropper(getCroppedCanvas,{
            width:300,
            height:300
        }).toBlob(function(blob){
            // 轉化為blob后更改src屬性,隱藏模態框
            $(#user-photo).attr(src,URL.createObjectURL(blob));
            $(#changeModal).modal(hide);
        });
    }

    $(function(){
        initCropperInModal($(#photo),$(#photoInput),$(#changeModal));
    });
script>
body>
html>

 

官方示例 https://fengyuanchen.github.io/cropper/

參考:https://segmentfault.com/a/1190000012344970

 

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/2223.html

相關文章

  • 【jQuery插件分享Cropper——一個簡單方便的圖片裁剪插件

    摘要:在裁剪框外拖動鼠標會生成一個新的裁剪框。這個是裁剪框的縱橫比,默認是不限制的。初始化完成后是否自動顯示裁剪框自動顯示的裁剪框的大小。方法的使用格式為手動顯示裁剪框。 插件介紹 這是一個我在寫以前的項目的途中發現的一個國人寫的jQuery圖像裁剪插件,當時想實現用戶資料的頭像上傳功能,并且能夠預覽圖片,和對圖片進行簡單的裁剪、旋轉,花了不少時間才看到了這個插件,感覺功能挺全面,代碼實現起...

    阿羅 評論0 收藏0
  • 截取圖片生成頭像插件

    摘要:獲取圖片地址之后,進行截取圖片這里推薦一個插件點這里,具體怎么用就不再贅述。等截取圖片之后,需要將截取的文件轉換為二進制大文件。調取接口,將二進制大文件上傳即可。 上傳頭像插件 目的: 幫助開發者快速開發上傳頭像功能點 背景: 現在b,g能搜到的頭像上傳插件并不太好用,所以想提供一個比較自由度的上傳并且可以剪切的插件。 資源: 具體資源請查看這里 實現大致思路如下: 先有一個上傳的...

    scq000 評論0 收藏0
  • 截取圖片生成頭像插件

    摘要:獲取圖片地址之后,進行截取圖片這里推薦一個插件點這里,具體怎么用就不再贅述。等截取圖片之后,需要將截取的文件轉換為二進制大文件。調取接口,將二進制大文件上傳即可。 上傳頭像插件 目的: 幫助開發者快速開發上傳頭像功能點 背景: 現在b,g能搜到的頭像上傳插件并不太好用,所以想提供一個比較自由度的上傳并且可以剪切的插件。 資源: 具體資源請查看這里 實現大致思路如下: 先有一個上傳的...

    Aceyclee 評論0 收藏0
  • JQuery 插件圖片裁剪插件cropper.js使用,上傳

    摘要:圖片裁剪,壓縮是上傳圖片一定會遇到的問題。如何獲得裁剪的圖片呢獲取裁剪后的圖片信息首先我們可以獲得裁剪框的節點然后調用圖片質量圖片質量越好圖片大小越大這樣就得到了你裁剪的圖片了可以通過,放到你想要的節點里展示。 圖片裁剪,壓縮是上傳圖片一定會遇到的問題。這里把我測試cropper.js這款jquery插件的心得分享一下,可以給新手做參考。 引入插件相關文件,你們down到本地也可以。這...

    SHERlocked93 評論0 收藏0
  • 移動端cropper.js 裁剪圖片并上傳

    摘要:參考效果引入使用結構頭像頭像截圖彈窗取消截圖頭像保存引用具體使用可查看官網修改頭像參加文件點擊圖片初始化關閉彈窗保存截圖保存數據 參考效果:http://www.17sucai.com/previe... 引入cropper使用 HTML結構 頭像 ...

    since1986 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<