头闻号

莒县旭升橡塑制品有限公司

工业用橡胶制品|注塑加工|油封|密封垫圈|农机配件|方向盘套

首页 > 新闻中心 > 科技常识:使用Canvas压缩图片
科技常识:使用Canvas压缩图片
发布时间:2024-09-22 11:34:49        浏览次数:6        返回列表

今天小编跟大家讲解下有关使用Canvas压缩图片 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关使用Canvas压缩图片 的相关资料,希望小伙伴们看了有所帮助。

讲干货,不啰嗦,当涉及对图片有质量压缩要求的时候,可以使用Canvas实现图片压缩。

步骤:

1.获取img元素,既要压缩的图片

2.创建canvas对象

3.使用canvas的drawImage方法绘制图片

4.通过canvas toDataURl方法获取图像base64编码,设置quality参数,实现压缩

参考示例:

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Canvas图片压缩测试</title> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script></head><body><div class="container"> <h2>压缩前图片</h2> <img id="originalImg"src="http://www.aidi.net.cn/article/detial/4336/test.jpg"> <h2>压缩后图片</h2> <img id="compressedImg"src="http://www.aidi.net.cn/article/detial/4336/"></div><script> $(document).ready(function(){ compressImg(300,0.2) }); function compressImg(width,quality ) { // 图片压缩方法,接受2个参数 // width:压缩后图片宽度,高度按比例计算 // quality:压缩比例参数,范围0-1 var img=$("#originalImg")[0];//获取图像元素 var height=width/img.width*img.height; //生成canvas var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); canvas.width = width; canvas.height = height; //通过canvas drawImage方法绘制图片 ctx.drawImage(img,0,0,width,height);//后四个为位置参数,左上角x,y坐标,右下角x,y坐标 //通过canvas toDataURl方法获取图像base64编码,quality为压缩质量参数,值越小图像越模糊 var base64 = canvas.toDataURL('image/jpeg', quality); //测试展示 $("#compressedImg").attr("src",base64) //获取到base64后可做进一步处理,如传到后端并储存 }</script><style> #originalImg{ width: 300px; }</style></body></html>

来源:爱蒂网