dealImage(base64, callback) {var newImage = new Image();var quality = 0.6;    //压缩系数0-1之间newImage.src = base64;newImage.setAttribute("crossOrigin", 'Anonymous');  //url为外域时需要var imgWidth, imgHeight;newImage.onload = function () {imgWidth = this.width;imgHeight = this.height;var canvas = document.createElement("canvas");var ctx = canvas.getContext("2d");if (Math.max(imgWidth, imgHeight) > 120) {if (imgWidth > imgHeight) {canvas.width = 120; // 设置压缩宽度大小canvas.height = 120 * imgHeight / imgWidth;} else {canvas.height = 120;canvas.width = 120 * imgWidth / imgHeight;}} else {canvas.width = imgWidth;canvas.height = imgHeight;quality = 0.6;}ctx.clearRect(0, 0, canvas.width, canvas.height);ctx.drawImage(this, 0, 0, canvas.width, canvas.height);var base64 = canvas.toDataURL("image/jpeg", quality); //压缩语句// 如想确保图片压缩到自己想要的尺寸,如要求在5-10kb之间,请加以下语句,quality初始值根据情况自定while (base64.length / 1024 > 10) {quality -= 0.01;base64 = canvas.toDataURL("image/jpeg", quality);}// 防止最后一次压缩低于最低尺寸,只要quality递减合理,无需考虑while (base64.length / 1024 < 5) {quality += 0.001;base64 = canvas.toDataURL("image/jpeg", quality);}callback(base64);//必须通过回调函数返回,否则无法及时拿到该值}},

JavaScript压缩base64图片相关推荐

  1. js压缩base64图片的方法

    话不多说,直接上代码. function compressImage(base64, callback) {var targSize = 1024 * 1024 //1024KB if (base64 ...

  2. 文件压缩 - JavaScript/CSS/HTML/图片

    1.应用场景 主要用于前端静态文件压缩, 最小化,减少内容传输耗时,优化前端性能. 2.学习/操作 文档阅读: http://www.webkaka.com/blog/archives/html-co ...

  3. JS将base64图片压缩至指定大小

    base64图片压缩至指定大小 在开发中,通常在上传图片时,由于各种限制,需要将上传的图片压缩到某一大小范围内才能上传.在此提供以下方法实现该需求,复制可用. /*** 压缩图片到指定大小* @par ...

  4. javascript将base64编码的图片数据转换为file并提交

    2019独角兽企业重金招聘Python工程师标准>>> 直接提交base64编码图片数据,过大的话后台会出现转发错误问题. 一个不错的解决方式就是将base64编码的图片数据转换为B ...

  5. JavaScript 正则匹配字符串中 base64 图片

    通常,富文本编辑器中的图片插入后上传到服务器保存,提交到数据库的富文本内容只包含图片的http地址. 但是,提交时候也需要做一下正则校验,避免有时候由于图片上传服务器失败而直接保存base64 格式图 ...

  6. 用JS实现:图片压缩、图片加密

    本文将用JavaScript实现两个颇有技术含量的功能:图片压缩.图片加密. 最终效果:可实现将任意图片加密.压缩,并保存到一个独立的html页面中,输入正确的密码,才能看到原图. 第一步.压缩图片 ...

  7. JavaScript中的图片处理与合成(一)

    JavaScript中的图片处理与合成(一) 引言: 图片处理现在已经成为了我们生活中的刚需,想必大家也经常有这方面的需求.实际前端业务中,也经常会有很多的项目需要用到图片加工和处理.由于过去一段时间 ...

  8. HTML img 元素无法显示 base64 图片的可能原因

    如果使用 base64 编码的图片在 HTML 的 img 元素中无法显示,可能有以下几个原因: 1.语法错误:img 元素中的 src 属性必须以 "data:" 开头,后面跟着 ...

  9. android 图片转base64内存变大了_开发者最喜爱的图片编码格式:opencv编码,解码,显示base64图片...

    由于图片格式尺寸较大,在互联网上若想传递一张图片,往往会 把图片进行格式转换,然后进行数据传输,图片格式往往会转换为base64编码图片 base64编码图片 BASE64编码表 base64编码 是 ...

最新文章

  1. mysql客户端如何创建用户_mysql的创创建用户阶段 开启客户端登录和授权阶段
  2. 自定义android控件EditText 自定义边框 背景
  3. Java IO模型--BIO、NIO Single Thread、NIO Reactor、AIO单线程及多线程AIO
  4. Swoole安装popen()找不到
  5. 通过OData创建C4C Lead时,遇到Account missing的错误消息
  6. 算法学习:最近公共祖先
  7. BZOJ 3039: 玉蟾宫( 悬线法 )
  8. 栈的应用--数制转换
  9. 管理感悟:工作管理的两大要点
  10. 镇魂街武神躯怎么修改服务器,镇魂街武神躯怎么重置守护灵_守护灵重置方法_3DM手游...
  11. 8、网友问答之串口数据接收与数据强制转换---------labview宝典
  12. 安卓逆向015之JEB静态分析与动态调试(注册机)
  13. 北大飞跃手册_【通知】关于转发吉林大学大学生飞跃社团2020年吉林大学飞跃手册预发布会即将召开!...
  14. 一周极客热文:看马云李彦宏马明哲等大佬手绘未来图
  15. C/C++犯二程度计算
  16. Java面试题大全(part_4)
  17. 海致大数据京信_2018华为全联接大会|海致网聚提出公安大数据个人计算新理念...
  18. 贪心算法---Huffman编码---神秘电报密码
  19. 窗口根据屏幕分辨率自动调整大小
  20. 包过滤防火墙配置举例

热门文章

  1. 对极限编程四个核心的理解(一)
  2. 2015定额企业取费证规费费率核定标准摘录绵建价【2016】3 号
  3. 第一次购买NAS的经历
  4. 校园二手平台——微信小程序
  5. 3.3.4 数字电路的模拟器
  6. w讠ndows Boot Manager,开机出现boot manager该怎么办 开机出现windows boot manager怎么解决 - 云骑士一键重装系统...
  7. P1294 高手去散步
  8. 图像处理:JPG、PNG及BMP的区别?
  9. 不同派生方式下基类成员在派生类中的可访问范围属性
  10. 分享几个网站模板网站,免费的哦~~~