canvas压缩图片如何转换成base64格式输出文件流-创新互联

这篇文章主要介绍了canvas压缩图片如何转换成base64格式输出文件流,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

站在用户的角度思考问题,与客户深入沟通,找到隆阳网站设计与隆阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟空间、企业邮箱。业务覆盖隆阳地区。

示例如;

 
 
 
 
 
 
 
 
// drawimage三种调用方法
 // ctx.drawImage(Image,dx,dy);
 // ctx.drawImage(Image,dx,dy,dWidth,dHeight);
 // ctx.drawImage(Image,sx,sy,sWidth,sHeight,dx,dy,dWidth,dHeight);
 //images图片元素,出来预判还支持其他三种格式,分别是htmlvideoElement htmlcanvasElement imagebitmap
 //todataurl是canvas画布元素的方法,放回指定的图片格式的data url,也就是base64编码串
 //todataurl方法最多接受两个参数,并且这两个参数都是可选的:
 //type图片格式.支持3种方式,分别是image/jpeg images/png image/webp,默认是image.png
 var canvas = document.getElementById('canvas');
 var source = document.getElementsByClassName('source');
 var preview = document.getElementsByClassName('preview');
 canvas.style.display = "none";
 window.onload = function() {
 //多张图片循环便利压缩
 for(var i = 0; i < preview.length; i++) {
  var width = source[i].width;
  var height = source[i].height;
  var context = canvas.getContext('2d');
  //sx要绘制到canvas画布的源图片区域(矩形)在x轴上偏移量
  var sx = 0;
  //sy要绘制到canvas画布的源图片区域(矩形)在y轴上偏移量
  var sy = 0;
  //swidth要绘制到canvas画布中的源图片区域的宽度,如果没有制定这个值,宽度则是sx到图片最右边的距离
  var sWidth = width;
  //sHeight要绘制到画布中的源图片区域的宽度,如果没有制定这个值,高度则是sy到图片最下边的距离
  var sHeight = height;
  //dx源图片左上角在canvas画布上x轴上偏移量
  var dx = 0;
  //dy源图片左上角在画布y轴上的偏移量
  var dy = 0;
  //dwidth绘制图片的canvas画布宽度
  //dHeight绘制图片的画布高度
  var dWidth = width;
  var dHeight = height;
  var quality = 0.2;
  canvas.width = width;
  canvas.height = height;
  context.drawImage(source[i], sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
  var dataUrl = canvas.toDataURL('image/jpeg', quality);
  preview[i].src = dataUrl;
 }
 // console.info(dataUrl);
 };
 //遍历原图
 for(var i = 0; i < source.length; i++) {
 source[i].src = 'img/' + (i + 1) + '.jpg';
 }

感谢你能够认真阅读完这篇文章,希望小编分享的“canvas压缩图片如何转换成base64格式输出文件流”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:canvas压缩图片如何转换成base64格式输出文件流-创新互联
标题链接:http://ybzwz.com/article/dpjdhi.html