利用html5压缩图片,产出二进制数据流
/* 将页面选择的图片等比压缩成指定大小(长边固定)
file:图片文件
callBack:回调函数
maxLen:长边的长度
*/
function makePic(file,callBack,maxLen){
var url = webkitURL.createObjectURL(file); /* 生成图片 */ var $img = new Image(); $img.src = url; // $(‘body‘).append($img); $img.onload = function() { //生成比例 var width = $img.width,height = $img.height; //计算缩放比例 var rate=1; if(width>=height){ if(width>maxLen){ rate=maxLen/width; } }else{ if(height>maxLen){ rate=maxLen/height; } } $img.width=width*rate; $img.height=height*rate; //生成canvas var $canvas =$(‘#thecanvas‘); var ctx = $canvas[0].getContext(‘2d‘); $canvas.attr({width : $img.width, height : $img.height}); ctx.drawImage($img, 0, 0, $img.width, $img.height); var base64 = $canvas[0].toDataURL(‘image/jpeg‘,0.9); callBack(base64);// } } $(‘.unPic_list input[type=file]‘).bind(‘change‘,function(e){ var that=this; for(var j=0;j<e.target.files.length;j++){ makePic(e.target.files[j],function(imgStr){ var img = new Image(); img.src=imgStr; img.onload=function(){ $(‘body‘).append(img);
/*此处将 imgStr.substr(22)操作即的图片二进制流,可发送到服务器*/ } },750); } })
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。