zoukankan      html  css  js  c++  java
  • 图片截取插件Cropper

    自己仿照github上的例子写的demo,github上的例子太抽象了,自己写的最适合自己,通俗易懂。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link  href="./css/cropper.css" rel="stylesheet">
        <style>
            img {
                max-width: 100%; /* This rule is very important, please do not ignore this! */
            }
    
            .prev{
                display: inline-block;
            }
        </style>
    </head>
    <body>
        <div class="container">
            <img id="image" src="./img/picture.jpg">
        </div>
    
        <br><br>
    
        <!--crop是对剪切窗口的操作,move是对图片的操作-->
        <div>
            <input type="button" value="crop" id="btnCrop" />
            <input type="button" value="move" id="btnMove" />
            <input type="button" value="16:9" id="169">
            <input type="button" value="1:1" id="11">
            <input type="button" value="get" id="getCanvas">
        </div>
    
        <br><br>
    
        <!--图片截取的结果显示在这里-->
        <div class="prev" style=" 500px; height: 500px; overflow: hidden"></div>
        <div class="prev" style=" 300px; height: 300px; overflow: hidden"></div>
        <div class="prev" style=" 200px; height: 200px; overflow: hidden"></div>
    
        <br><br>
    
        <div id="getCroppedCanvas" style="500px; height:500px; overflow:hidden;"></div>
    
    
        <script src="./js/jquery-1.11.3.min.js"></script>
        <script src="./js/cropper.js"></script>
        <script>
            $(function(){
                var image = document.getElementById("image");
    
                //可以通过$().cropper(options)方法来设置参数。如果想改变全局默认参数,可以使用$.fn.cropper.setDefaults(options)方法。
                var cropper = new Cropper(image, {
                    aspectRatio: 16 / 9,  //宽高比
                    preview: '.prev',  //预览窗口
                    guides: false,  //裁剪框的虚线
                    autoCropArea: 0.5,  //0-1之间的数值,定义自动剪裁区域的大小,默认0.8
                    dragCrop: true,  //是否允许移除当前的剪裁框,并通过拖动来新建一个剪裁框区域
                    movable: true,  //是否允许移动剪裁框
                    resizable: true,  //是否允许改变裁剪框的大小
                    zoomable: true,  //是否允许缩放图片大小
                    mouseWheelZoom: true,  //是否允许通过鼠标滚轮来缩放图片
                    touchDragZoom: true,  //是否允许通过触摸移动来缩放图片
                    rotatable: true,  //是否允许旋转图片
                    minContainerWidth: 200,  //容器的最小宽度
                    minContainerHeight: 200,  //容器的最小高度
                    minCanvasWidth: 0,  //canvas 的最小宽度(image wrapper)
                    minCanvasHeight: 0,  //canvas 的最小高度(image wrapper)
                    strict: true,
                    crop: function(e) {  //当改变剪裁容器或图片时的事件函数
                        console.log(e.detail.x);
                        console.log(e.detail.y);
                        console.log(e.detail.width);
                        console.log(e.detail.height);
                        console.log(e.detail.rotate);
                        console.log(e.detail.scaleX);
                        console.log(e.detail.scaleY);
                    },
                    build: function () {
                        console.log('build');
                    },
                    built: function () {
                        console.log('built');
                    },
                    cropstart: function (e) {
                        console.log('cropstart', e.detail.action);
                    },
                    cropmove: function (e) {
                        console.log('cropmove', e.detail.action);
                    },
                    cropend: function (e) {
                        console.log('cropend', e.detail.action);
                    }
                });
    
                $("#btnCrop").on("click", function(){
                    cropper.setDragMode("crop");
                });
    
                $("#btnMove").on("click", function(){
                    cropper.setDragMode("move");
                });
    
                $("#11").on("click", function(){
                    cropper.setAspectRatio(1,1);
                });
                $("#169").on("click", function(){
                    cropper.setAspectRatio(16,9);
                });
    
                $("#getCanvas").on("click", function(){
                    $("#getCroppedCanvas").html(cropper.getCroppedCanvas());
                });
            });
        </script>
    </body>
    </html>

    API

    https://www.awesomes.cn/repo/fengyuanchen/cropper

  • 相关阅读:
    快速获取JOB运行结果
    快速获取DB服务器当前 MEM CPU的资源消耗
    Mongodb Sharding+Replica Set
    MongoDB replSet
    Journal工作原理
    Oracle索引梳理系列(八)- 索引扫描类型及分析(高效索引必备知识)
    Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系
    Oracle索引梳理系列(六)- Oracle索引种类之函数索引
    Oracle索引梳理系列(五)- Oracle索引种类之表簇索引(cluster index)
    Oracle索引梳理系列(四)- Oracle索引种类之位图索引
  • 原文地址:https://www.cnblogs.com/zcynine/p/5394168.html
Copyright © 2011-2022 走看看