这篇文章的目的是简略的描述怎么在Android上将XMP信息写入JPEG文件,比如将图像的深度信息,全景图信息,连拍信息写入JPEG,Google Photos可以对一些特殊类型进行识别

Adobe XMP

关于Adobe XMP的资料网上可以说是非常少,但是它已经是非常古老的技术,并且具有比较广泛的应用.XMP技术用于在原文件上附加信息,比如将文件的修改日期,修改人,创建人,以及一些描述信息写入文件本身.这是一个比较简单的工作,但是需要一套通用的标准来规范化,Adobe XMP就是这样一套标准,它描述了针对某一种文件类型,比如JPEG图片,我们该以怎样的形式把附加信息写入JPEG文件,定义一套通用的描述符,其他人可以使用通用的描述符查询对应的信息.

XMP的附加信息使用XML描述,基本上就是将一个XML写入到目标文件,通用的描述符就是XMP规范应用的一套命名空间,命名空间下定义了很多的属性

JPEG

JPEG网上有比较多的参考资料,针对我们的目的,这里主要贴一下如果我们用二进制显示一张JPEG,怎么去解读它,编解码不是我们所关心的.

先贴一张二进制的JPEG图片

首先是 FF D8作为文件的第1个和第2个字节,这个在JPEG中有特殊意义,SOI(Start Of Image)
后面跟着 FF E0 也是特殊字符,表示APP0,用于描述缩略图等的信息
除了 FF E0, FF E1… FF EF都是特殊字符,表示App1到App15,可以用来描述附加信息.我们的XMP就可以保存在 App1-App15任意一个中.

JPEG相关的博客和资料:

  • JPEG文件编/解码详解
  • JPEG图像编码标准
  • JPEG文件中的EXIF

Android JPEG

Android通过导入包实现对JPEG的Exif信息和XMP进行处理

Android Project :https://github.com/HJCYFY/Android-XMPDemo

其他资料:https://download.csdn.net/download/huajun998/10595526

更多相关文章

  1. Android(安卓)Studio3.5 xml文件格式化(Reformat Code)后元素会
  2. OSChina社区Android客户端原型讨论
  3. eclipse配合Android(安卓)Studio部署Android(安卓)NDK开发环境
  4. Android——开发环境简介
  5. 写一个自己的 Android(安卓)Hidl Service
  6. Android应用资源的使用方法(数组、颜色、尺寸、字符串、布尔、整
  7. 「Android」 APK瘦身探索
  8. Android学习笔记(4)---模拟手机拨号器
  9. Android获取手机设备信息并区分真机与模拟器

随机推荐

  1. Android 上 Https 双向通信— 深入理解Ke
  2. android 实现自定义键盘的实例
  3. android 使用Intent传递数据之全局变量传
  4. 心血收藏,2G源码
  5. Android工具箱之Context解析
  6. Android系统的上下文对象Context
  7. android 资源文件String字符串拼接
  8. android仿今日头条App、多种漂亮加载效果
  9. Android样式基础--shape篇
  10. Android发布, Android中国网站正式成立,