最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Js+Canvas做出图片压缩

来源:动视网 责编:小采 时间:2020-11-27 19:54:32
文档

Js+Canvas做出图片压缩

Js+Canvas做出图片压缩:这次给大家带来Js+Canvas做出图片压缩,Js+Canvas做出图片压缩的注意事项有哪些,下面就是实战案例,一起来看一下。/* * 图片压缩 * img 原始图片 * width 压缩后的宽度 * height 压缩后的高度 * ratio 压缩比率 */ function compres
推荐度:
导读Js+Canvas做出图片压缩:这次给大家带来Js+Canvas做出图片压缩,Js+Canvas做出图片压缩的注意事项有哪些,下面就是实战案例,一起来看一下。/* * 图片压缩 * img 原始图片 * width 压缩后的宽度 * height 压缩后的高度 * ratio 压缩比率 */ function compres


这次给大家带来Js+Canvas做出图片压缩,Js+Canvas做出图片压缩的注意事项有哪些,下面就是实战案例,一起来看一下。

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

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

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

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

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

angularJS+Ionic在移动端进行图片上传(附代码)

Particles.js实现粒子动态背景动画

文档

Js+Canvas做出图片压缩

Js+Canvas做出图片压缩:这次给大家带来Js+Canvas做出图片压缩,Js+Canvas做出图片压缩的注意事项有哪些,下面就是实战案例,一起来看一下。/* * 图片压缩 * img 原始图片 * width 压缩后的宽度 * height 压缩后的高度 * ratio 压缩比率 */ function compres
推荐度:
标签: 图片 压缩图片 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top