js 压缩并解决iphone上传头像偏转
2016-06-22 17:11
573 查看
download url : https://github.com/exif-js/exif-js
/* ======================================== 图片压缩方法 ======================================== */ function compressImage(maxWidth,maxHeight,srcOriginalImage,orientation,callback){ // 创建 canvas var canvasId ="canvas_"+new Date().getTime()+""+parseInt(Math.random()); $("<canvas></canvas>").hide().attr("id",canvasId).appendTo("body"); var c=$("#"+canvasId)[0]; var ctx=c.getContext("2d"); // 释放canvas function releaseCanvas(){ $("#"+canvasId).remove(); } // 创建要绘制的Image对象 var img = new Image(); img.src = srcOriginalImage; // 等待img加载完毕 img.onload = function(){ // 与backgournd-size:contain效果相同 if(img.width/img.height<maxWidth/maxHeight){ c.height = img.height; if(img.height>maxHeight){ c.height = maxHeight; } c.width = img.width/img.height*c.height; }else{ c.width = img.width; if(img.width>maxWidth){ c.width = maxWidth; } c.height = img.height/img.width*c.width; } var compressImageWidth = c.width; var compressImageHeight = c.height; if(orientation==6){ var tmp = c.width; c.width = c.height; c.height= tmp; ctx.translate(c.width,0); ctx.rotate(Math.PI/180*90); } ctx.drawImage(img,0,0,img.width,img.height,0,0,compressImageWidth,compressImageHeight); callback(c.toDataURL()); releaseCanvas(); }; }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- java-WEB中的监听器Lisener
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- GUI - Web前端开发框架
- Extjs4.0 最新最全视频教程
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- 最后一次说说闭包
- Ajax
- HTML5调用摄像头实例
- 2019年开发人员应该学习的8个JavaScript框架
- Powershell 创建炫丽美观的Html报表
- HTML中的script标签研究
- 对一个分号引发的错误研究