700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Js利用Canvas将图片进行压缩方法讲解

Js利用Canvas将图片进行压缩方法讲解

时间:2021-06-20 21:45:27

相关推荐

Js利用Canvas将图片进行压缩方法讲解

web前端|js教程

javascript,Canvas,压缩

web前端-js教程

下面小编就为大家带来一篇Js利用Canvas实现图片压缩功能。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

帝国新闻php源码,ubuntu不能安装ssh,爬虫软件分类壁纸,尺寸 php,吉林seo方案lzw

最近做的APP项目涉及到手机拍照上传图片,因为手机拍照的图片通常都比较大,所以上传的时候就会很慢。为此,需要对图片进行压缩处理来优化上传功能。以下是具体实现:

商城系统源码shopex,vscode无法调用CSS,ubuntu 系统之家,tomcat重要吗,局域网访问sqlite,八爪鱼爬虫豆瓣电影短评,php两个数相加,seo的基本优化,提取别人的网站源代码,网页奇迹汉化版一键服务端,jfinal cms 模板lzw

vb 截图软件 源码,vscode真香,ubuntu sh命令,一台电脑布置两个tomcat,php sqlite性能,任意域名访问服务器地址,dz头像上传插件,前端ui框架分享,爬虫 百度,php单步调试,栖霞SEO,网站下载系统,asp网页浮动客服代码,手机端网站模板下载,登陆页面模板,java库存管理系统,自动升级程序源码lzw

/* * 图片压缩 * img 原始图片 * width 压缩后的宽度 * height 压缩后的高度 * ratio 压缩比率 */ function compress(img, width, height, ratio) { var canvas, ctx, img64; canvas = document.createElement(canvas); canvas.width = width; canvas.height = height; ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, width, height); img64 = canvas.toDataURL("image/jpeg", ratio); return img64; }

上面是一个图片压缩函数,返回 base64 格式的图片数据。 其中压缩比率取值(0 – 1 之间)越大图片质量越高。建议不要将图片转为 png 格式,因为转为 png 格式,图片的 base64 比转为 jpeg 的要长不少。下面是实际调用:

var image = new Image();image.src = "/img/test.jpg";image.onload = function(){ var img64 = compress(image, 500, 400, 0.7); document.getElementById("test").src = img64;}

注意: 压缩方法的调用以及图片src赋值必须放在图片的 onload 方法里面。因为只有等图片加载完成后才能进行压缩处理,从而转换为base64 进行赋值。 如果放在 onload 方法外面,则可能压缩代码无效,或者会生成一张纯黑色的图片。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。