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. 【Cocosd2d实例教程五】Cocos2d添加虚拟摇杆控制器
  2. js获取浏览器活跃页面,切换tab页状态
  3. 70%的付费率 手游还在愁什么?
  4. Screen返回选择界面的问题
  5. 转:openTSDB 2.0 安装
  6. JVM运行时数据区分析
  7. JAVA数据结构与算法【队列、数组模拟(环形)队列】
  8. dotNET Core 3.X 使用 Autofac 来增强依赖注入
  9. Android之UI线程与子线程交互设计的5种方法
  10. 中职升高职c语言程序设计教程课后答案,中职C语言教学创新与实践论文
  11. cookie和session(1)
  12. 1000道Python题库系列分享19(81道填空判断题)
  13. python微信公众菜单_Python实现微信公众平台自定义菜单实例
  14. 沉寂了多年金价为何会连续上涨 专家指出真正原因
  15. Oracle连续排名,oracle不连续排名rank() over(order by column desc),连续排名 dense_rank over(order by)...
  16. 机器人避障技术解读 与解决方案
  17. T-SNE可视化实现
  18. Linux mysql 主从 配置
  19. ROS中使用protoBuf通信
  20. ipa 上传卡在鉴权_上传app,一直卡在“正在通过 App Store 进行鉴定”

热门文章

  1. 笔记本空格键没弹性了
  2. 早期RA的缓解率—比较新缓解标准和与现有标准
  3. 转载:神国中的两条路(陈鸽)
  4. 【vue双向绑定原理浅析】
  5. endnote .enw format 文件格式说明
  6. LibGDX_7.2: 音频(Audio): 音乐(Music) 与 音效(Sound)
  7. [ubuntu]用SSH实现ubuntu系统互联并传输文件(无图形界面)
  8. word转成pdf后,目录不能跳转
  9. DIN22 IPO OC双输入双输出单电源供电光电隔离转换器 输入/输出 3000VDC 五隔离 实现正负双向信号的隔离传输
  10. java Object类型的参数