python二进制图片压缩传输_js压缩图片的实现原理及实现过程

vDa04Uvwf5FH2XoSkZgzCPBfIXhoPnwd3Tzw0HfD0fw3Cf878lenc2XQuBa9rpR3c2TonGrn6Brt8Ap2NBAFvo5HYsiWOavZaWVacc9baYkfPN8v8D3gcOFNU3LjoAAAAASUVORK5CYII=

我们知道,对于你非常清晰的图片,它所占内存十分大,一般我们会使用压缩将图片存放在我们的手里。在JavaScript中,也可以对图片进行压缩。本文介绍js压缩图片的实现原理及实现过程。

一、压缩原理

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

二、具体实现

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

第二步:把获取到的图片转换成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压缩图片的实现原理及实现过程,大家可以套用上述代码压缩图片,不过要理解压缩原理哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值