zoukankan      html  css  js  c++  java
  • JS图片压缩

    JS图片压缩

    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
    
    
            <input type="file" id="file1"  onchange="selFile()"  />
    
    
       <img id="res" />
    
    
    
    
            <script>
    
                var maxWidth = 400;
                var maxHeight =400;
                var canvas = document.createElement('canvas');
                var context = canvas.getContext('2d');
    
                function selFile()
                {
                    var file = null;
                    var reader = new FileReader();
                    var img = new Image();
                     
             
                    //获取选中的文件
                    file = file1.files[0];
                    reader.readAsDataURL(file);
                    
                    reader.onload=function(e)
                    {                                    
                        var base64 = reader.result.split(',')[1];
                        var dataUrl = 'data:image/png;base64,' + base64; 
                        img.src = dataUrl; 
                    }
    
    
    
                    img.onload = function () {
    
                        var originWidth = this.width;
                        var originHeight = this.height;
    
                        var targetWidth = originWidth;
                        var targetHeight = originHeight;
    
                        if (originWidth > maxWidth || originHeight > maxHeight) {
                            if (originWidth / originHeight > maxWidth / maxHeight) {
                                // 更宽,按照宽度限定尺寸
                                targetWidth = maxWidth;
                                targetHeight = Math.round(maxWidth * (originHeight / originWidth));
                            } else {
                                targetHeight = maxHeight;
                                targetWidth = Math.round(maxHeight * (originWidth / originHeight));
                            }
                        }
    
    
    
                        /////////////////// canvas
    
    
                        canvas.width = targetWidth;
                        canvas.height = targetHeight;
    
                        context.clearRect(0, 0, targetWidth, targetHeight);
                        context.drawImage(img, 0, 0, targetWidth, targetHeight);
    
    
                        var base64 = canvas.toDataURL('image/jpeg', 0.8);
    
                        res.src = base64;
    
    
    
    
                        /////////////////// canvas
    
    
    
    
    
    
    
                    }
    
    
                }
    
            </script>
    
    
    
        </div>
        </form>
    </body>
    </html>
    

      

  • 相关阅读:
    PHP Notice: Undefined index:解决方法
    javascript监听手机返回键
    jquery判断手指滑动方向
    php 5.5使用 array_column的方法
    html5 点击播放video的方法
    mysql并发量过大造成 update语句更新错误
    html5 微信真机调试方法vConsole
    PHP防止客户端多次点击
    jquery设置html5音量的方法
    设计模式六大原则
  • 原文地址:https://www.cnblogs.com/mqingqing123/p/12341712.html
Copyright © 2011-2022 走看看