图片前端重绘前端压缩和自动调整旋转
最近做的一个手机项目,关于图片上传有2个问题需要解决:
1. 手机用户的图片很多是手机拍的照片,体积通常很大
2. IOS和一些其他的手机,拍照上传后图片会出现旋转。 比如说IOS手机竖着拍的照片上传成了横的。
解决这2个问题用到了github上的两个项目,分别是 ios-imagefile-megapixel 和 exif-js
第一个问题使用 ios-imagefile-megapixel 得已解决。
而第二个问题的旋转,其实 ios-imagefile-megapixel 已经包含了旋转动作了,但是需要旋转的角度还无从得知,要获取图片被旋转过的角度得用到 exif-js
调整旋转角度的流程 :1. exif-js 获取被旋转后的方向Orientation
Orientation属性说明如下
旋转角度 参数
0° 1
顺时针90° 6
逆时针90° 8
180° 3
2. Orientation 传给 ios-imagefile-megapixel
3. ios-imagefile-megapixel 回复图片到旋转前的方向并且重绘图片(达到压缩效果)
经过上面的思路,整理出了一个demo。
demo下载地址: imgToSmall.rar