手上做到个项目正好需要这块知识,需求是判断手里的照片是横拍的还是竖拍的。
原理:
根据手机相册内照片的EXIF属性判断,EXIF属性里面有个Orientation的值,来确定照片是否需要旋转
Orientation的参数值
参数 | 0行(未旋转上) | 0列(未旋转左) | 旋转(方法很多) |
1 | 上 | 左 | 0° |
2 | 上 | 右 | 水平翻转 |
3 | 下 | 右 | 180° |
4 | 下 | 左 | 垂直翻转 |
5 | 左 | 上 | 顺时针90°+水平翻转 |
6 | 右 | 上 | 顺时针90° |
7 | 右 | 下 | 顺时针90°+垂直翻转 |
8 | 左 | 下 | 逆时针90° |
手机的话,只要判断1,3,6,8 这4个值即可
实现:
这里要用到JQ的第三方的一个插件exif.js 具体方法说明,去官方看吧
http://code.ciaoca.com/javascript/exif-js/
使用方法:
var Orientation = 1;
EXIF.getData(this, function() {
Orientation = EXIF.getTag(this, "Orientation");
});
//需要90度旋转的
if ((Orientation == 6) || (Orientation == 8))
{
console.log("旋转");
}