js压缩图片

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <!-- 压缩时要用到的canvas -->
    <canvas id="canvas" style="display:none;"></canvas>

    <!-- 原始图片  -->
    <img id="img" src="e.png" />

    <!-- 压缩后的图片  -->
    <img id="new_image"/>

    <script>
        var maxWidth = 300;
        var maxHeight = 300;
        // 创建 canvas
        var c=document.getElementById("canvas");
        var ctx=c.getContext("2d");
        // 创建要绘制的Image对象
        var img = new Image();
        img.src = "e.png";
        // 等待img加载完毕
        img.onload = function(){
            // 与backgournd-size:contain效果相同
            if(img.width/img.height<maxWidth/maxHeight){
                c.height = img.height;
                if(img.height>maxHeight){
                    c.height = maxHeight;
                }
                c.width = img.width/img.height*c.height;
            }else{
                c.width = img.width;
                if(img.width>maxWidth){
                    c.width = maxWidth;
                }
                c.height = img.height/img.width*c.width;
            }
            ctx.drawImage(img,0,0,img.width,img.height,0,0,c.width,c.height);
            document.getElementById("new_image").src=c.toDataURL();
        };

    </script>
</body>
</html>
时间: 2024-08-11 05:43:36

js压缩图片的相关文章

js压缩图片base64长度

1 var myCanvas=$('.img-container > img').cropper('getCroppedCanvas'); 2 (function (base64){ 3 var image = new Image(),newBase64,MAX_HEIGHT = 160; 4 image.onload = function(){ 5 var canvas = document.getElementById("myCanvas"); 6 if(image.heig

js 压缩图片(只缩小体积,不更改图片尺寸)

1.情景展示 如上图所示,点击上传图片按钮,调用手机摄像头拍照功能. <input onchange="javascript:imgFun.uploadPicture();" type="file" name="file" id="file" accept="image/*" capture="camera" style="display: none;">

js 压缩图片 上传

感谢,参考了以下作者的绝大部分内容 https://blog.csdn.net/tangxiujiang/article/details/78755292 https://blog.csdn.net/u011415782/article/details/79978608 大概的流程就是 点击file选择图片 js将图片解读出base64编码,然后通过js将base64编码转为压缩后的base64 然后通过ajax或者form把压缩后的base64编码提交到服务器(php) 然后php将base6

js压缩图片后再将base64转换为file文件亲测可用

<button id="upload">上传图片</button><input type="file" name="input_file" id="input_file" style="height: 84px; width: 111px;" /> var filechooser = document.getElementById("input_file&quo

html5+js压缩图片上传

最近在折腾移动站的开发,涉及到了一个手机里面上传图片.于是经过N久的折腾,找到一个插件,用法如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 <!DOCTYPE HTML> <html lang="zh-C

js压缩图片上传

1.实现,自己看代码去 // 图片压缩 // 接收三个参数: // file:是读取的文件,需要input type="file"获取或者通过js获取 // rate:压缩比例:按照原来图片的百分比 // maxSize: 压缩后的最大文件 // rate有则使用rate,最大限制拦截,会判断rate后是否大于maxSize,如果大于,则剪切,不大于,这rate // fileType:返回内容的类型:file即压缩后的第一个参数,blob是blob文件,base64是base64文件

使用 gulp 压缩图片

请务必理解如下章节后阅读此章节: 安装 Node 和 gulp 使用 gulp 压缩 JS 压缩 图片文件可降低文件大小,提高图片加载速度. 找到规律转换为 gulp 代码 规律 找到 images/ 目录下的所有文件,压缩它们,将压缩后的文件存放在 dist/images/ 目录下. gulp 代码 一.安装 gulp-imagemin 模块 提示:你需要使用命令行的 cd 切换至对应目录再进行安装操作和 gulp 启动操作. 在命令行输入 npm install gulp-imagemin

js等比压缩图片实现

// 等比压缩图片工具 function proDownImage(img) { var setSize = {}; var obj = { width : img.parent().width(), height : img.parent().height() //外容器宽高 }; var image = new Image(); image.src = img.attr("src"); //图片路径 if (image.width > 0 && image.h

HTML5 file API加canvas实现图片前端JS压缩并上传 (转载)

一.图片上传前端压缩的现实意义 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验. 这种体验包括两方面: 由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅,同时大大降低了网络异常导致上传失败风险. 最最重要的体验改进点:省略了图片的再加工成本.很多网站的图片上传功能都会对图片的大小进行限制,尤其是头像上传,限制5M或者2M以内是非常常见的.然后现在的数码设备拍摄功能都非常出众,一张原始图片超过2M几乎是标配,此时如果用户想把手机或相机中的某个得意图片