js 如何实现让照片显示时为拍摄时的方向?


现在发现用一些数码设备拍摄的照片,上传到网站后,显示出来的效果和拍摄时的不一样,
(比如说微博)。所以好多网站都出现一个图片左右旋转的功能,那么这个功能的主要目的之一就是方便用户旋转到正确的方向浏览,js能不能做到显示数码照片时就以拍摄时候的方向显示呢?

图片 JavaScript

邪恶D少年 12 years, 8 months ago

数码设备拍摄照片时,会将一些信息也保存中图片中。而Orientation字段,就是用来存放照片方向,如下:
请输入图片描述

但是Orientation属性,依赖方向传感器,如果照相的数码设备支持,那么该属性的值就是 1,如果值为 2、4、5、7 说明照片进行了翻转,所以取值一般是取 1、3、6、8。具体如下图所示:
请输入图片描述

前端只要获取了照片的EXIF信息,那么该功能就能实现了。。js获取照片EXIF信息已经有了很好的方案,其实就是获取图片的二进制内容,介绍一个 FileReader Api。

具体可以看下 http://www.impulseadventure.com/photo/exif-orientation.html

Dogee answered 12 years, 8 months ago

Your Answer