品易云推流 关闭
文章详情页
文章 > JavaScript > js压缩图片的实现原理及实现过程

js压缩图片的实现原理及实现过程

头像

宋雪维

2021-02-18 13:36:002504浏览 · 0收藏 · 0评论

本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

一、压缩原理

js实现对上传图片的路径转成base64编码,把图片用canvas画出来再转成二进制数据,降低分辨率,并且对图片进行压缩。

二、具体实现

第一步:通过input标签获取本地图片

<input id="file" type="file">

第二步:把获取到的图片转换成base64格式

let fileObj = document.getElementById('file').files[0] //获取文件对象 
let reader = new FileReader() //新建一个FileReader对象 
reader.readAsDataURL(fileObj)//将读取的文件转换成base64格式 
reader.onload = function(e) { console.log(e.target.result) //转换后的文件数据存储在e.target.result中 }

第三步:使用canvas中的API把图片分辨率调低

context.drawImage(image, 0, 0, imageWidth, imageHeight)

注意:canvas只能处理base64格式的图片

以上就是js压缩图片的实现原理及实现过程,大家可以套用上述代码压缩图片,不过要理解压缩原理哦~

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图