Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图等。

android拍照后照片的详细信息都保存在Exif中,获取图片方向的方法如下,其他信息同样方法获取:

String sFileName="/sdcard/DCIM/Camera/123.JPG";

ExifInterface exif = new ExifInterface(sFileName);

String direction =exif.getAttribute(ExifInterface.TAG_ORIENTATION); //获取图片方向

Log.d("照片方向", direction);

获得了方向还要知道方向对应的图片显示方向:

public String getOrientationDescription() throws MetadataException{

if (!_directory.containsTag(ExifDirectory.TAG_ORIENTATION)) return null;

int orientation = _directory.getInt(ExifDirectory.TAG_ORIENTATION);

switch (orientation) {

case 1: return "Top, left side (Horizontal / normal)";

case 2: return "Top, right side (Mirror horizontal)";

case 3: return "Bottom, right side (Rotate 180)";

case 4: return "Bottom, left side (Mirror vertical)";

case 5: return "Left side, top (Mirror horizontal and rotate 270 CW)";

case 6: return "Right side, top (Rotate 90 CW)";

case 7: return "Right side, bottom (Mirror horizontal and rotate 90 CW)";

case 8: return "Left side, bottom (Rotate 270 CW)";

default: return String.valueOf(orientation);

}

我们都遇到过这样的情况,拍摄高的景物时,会把相机竖着拍,但是这样得到的图片如果用普通的图片浏览器看景物就是躺着的,需要调整一个角度。

用手机拍照实验(用普通浏览器来看):

横拿手机右手拍照,照片方向"1""Horizontal"。

正常拿手机竖拍,照片方向"6""Rotate 90 CW",图片顺时针旋转90度时,即正常。

再转90度,横拿,左手拍照,照片方向"3""Rotate 180",旋转180度即可正常显示方向。

再转90度,手机头朝下拍,照片方向"8""Rotate 270 CW"。

取到这些值,就可以进行相应的操作了。

android拍照保存照片方向,android 拍照的照片方向问题,读取图片EXIF信息相关推荐

  1. Android 端读取图片exif信息,并对其进行修改

    最近在做一个图片上传的问题,由于图片上传前需要对图片进行压缩处理,图片的原始信息自然被处理掉了.但是需求是在电脑端能看到图片的详细信息.由于之前使用过Exifinterface,对其还有一些信心搞定, ...

  2. Android:操作图片Exif信息

    什么是Exif 先来了解什么是Exif.Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了数码照片的信息,包括拍摄的光圈.快门.平衡白.IS ...

  3. Android中通过Exifinterface读取图片地理位置信息

    效果图: 一.了解Exif EXIF(Exchangeable Image File)是"可交换图像文件"的缩写,是一种图像文件格式,它的数据存储与JPEG格式是完全相同的,当中包 ...

  4. JAVA 拍照 exif GPS_读取图片EXIF块中GPS信息,转换为高德地图API坐标

    最近两天做了一个需求,从APP端上传的照片信息里面读取出GPS位置信息,然后翻译成可读的地点信息. 总结一下,分为三步: (1)提取图片中的GPS信息,使用到了metadata-extractor; ...

  5. Python改变图片EXIF信息(修复图片上传后方向改变的BUG)

    文章目录 简介 安装 读取 EXIF 保存 EXIF 插入 EXIF 删除 EXIF 复制 EXIF 将 PIL 读取的信息存入 EXIF 标签内容 根据旋转信息旋转图片 生成一套方向图片 ExifT ...

  6. android view保存成背景,Android用VideoView实现MP4作为页面背景

    类似Tumblr, Spotify, Keep等应用在登录界面都有要采用了背景是动画的效果.自己现在做课程设计,也想使用,所以经过捣鼓以后实现如下图: 动态背景.gif 1. 新建一个用于显示Vide ...

  7. android hawk 保存map对象,Android Hawk数据库 github开源项目

    您还能够通过使用链功能存储多个项目. 记得在最后使用commit(). // Returns the result as boolean Hawk.chain() .put(KEY_LIST, Lis ...

  8. android 获取照片 权限管理,安卓6.0以上 相册读取图片 权限问题

    问题背景: 今天做Intent ACTION_PICK 相册读取, 已经在AndroidManifest中添加了权限, 然后选取后,图片无法显示. 原因是:android6.0之后不仅需要在Mainf ...

  9. android 读取图片信息,Android 图片Exif 信息读取和写入

    引用3rd jar来实现信息写入 下载 commons-imaging-1.0-SNAPSHOT.jar, 这个方法的好处是如果图片里面没有字段. 比如orientation 没有,但是 还可以写入. ...

最新文章

  1. JavaScript(3)之——对象的属性描述符
  2. python接口自动化(二十四)--unittest断言——中(详解)
  3. CSLA.Net学习(1)——第一个小程序
  4. sysbench压测服务器及结果解读(重点)
  5. Mealy状态机的一点理解
  6. X权限 gpasswd getent 命令详解
  7. 7.python实现高效端口扫描器之nmap模块
  8. 一款无惧“魔改”的设计系统开源了,已支持字节跳动4000多个项目
  9. mysql单向加密_MariaDB(Mysql)双向加密与单向加密 | 彬菌
  10. java 输出一个爱心_java基础 之 几个常用的类
  11. 7 vsphere 分配许可_外企公司员工Office 365权限是否已分配
  12. Centos 7.x 安装配置tomcat-8过程梳理
  13. Python 文本挖掘:使用gensim进行文本相似度计算
  14. 知悉未来的趋势 ---- 小评 创新者的窘境
  15. Vulkan Samples 阅读 -- Basics(五): Input Attachments Sub Passes Offscreen Renderings
  16. java 字节 占多少位_JAVA各种类型各占多少字节,多少位
  17. 数字化转型背景下的“新IT职业教育” | 职业教育系列报告(四)
  18. xshell 上传文件
  19. 【干货】微博短视频去水印下载使用介绍
  20. C++11标准模板(STL)- 算法 - 数值运算 (std::accumulate)

热门文章

  1. Java jdk 在线文档(可搜索类)
  2. 2020年年度关于前端学习与工作的心得体会
  3. 旧电脑更新win10日记
  4. 工资高的互联网工作者都在干什么
  5. 织梦5.7登陆注册实现
  6. 【Python】小甲鱼Python学习总结——代码版
  7. 新办的卡为什么显示无服务器,为什么插入卡后显示无服务,有时有有时又没有?...
  8. 微信修改基本配置信息
  9. 谷歌分析相关套件简介
  10. #ifndef #define #endif的作用