Android Adobe XMP与JPEG
这篇文章的目的是简略的描述怎么在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
Android Adobe XMP与JPEG相关推荐
- Android Adobe Reader 任意代码执行分析(附POC)
livers · 2014/04/18 14:05 0x00 描述 前几天老外在fd还有exploit-db上,公布了Adobe Reader任意代码执行的漏洞. 漏洞编号: CVE: 2014-05 ...
- Adobe XMP SDK编译
XMP(Extensible Metadata Platform)是Adobe公司提出的关于元数据的创建,处理和交换的一套标准.在制作和管理文档或图像时,如果在相关文件中包含有元数据(如标题.摘要.作 ...
- php xmp,在jpeg中编写XMP元数据(使用PHP) – 使用单个或多个rdf:描述块
我试图修改PHP_JPEG_Metadata_Toolkit中的代码,以便我可以使用PHP正确读取和写入jpeg文件的XMP数据.目前,jpeg文件(由Toolkit保存时)会出现Adobe Phot ...
- android adobe pdf阅读器,Adobe发布Android手机专用PDF阅读程序
北京时间5月25日消息,据国外媒体报道,谷歌年度I/O会议上周有消息透露,Adobe已发布Android手机专用的PDF阅读程序. 使用该程序,用户可快速打开互联网下载的或电子邮件附件中的PDF文件. ...
- Android使用GPU加速JPEG图片解码(Opencl)
转载请标明出处:https://blog.csdn.net/u013752202/article/details/92794209 1.创建opencl kernel (1)创建kerenl并编译sh ...
- flash插件Android,Adobe Flash Player
一款非常棒的支持手机播放flash格式文件的软件,Adobe Flash Player 是目前非常流行的多媒体播放器,在很多用户群体收到广泛使用,甚至是专属播放器,随着网络速度与品质的提升,越来越多的 ...
- [Android] Adobe Photoshop Express 手机上用的挺好的作图软件
[推荐阅读]微服务还能火多久?>>> <Adobe Photoshop Express>是一款照片编辑和拼贴画制作软件工具,可以在移动设备上进行快速的编辑.拥有 60 多 ...
- Adobe XMP SDK项目应用(续2)
今日我想给给图像的exif属性里面增加一个SoftWare属性,毋庸置疑,最终是失败而告终.在SDk上面纠缠了半日,直奔核心代码而去,最终无功而返.问题的症结其实跟前几日差不多,修改xmp信息可以,但 ...
- Adobe XMP SDK项目应用(续1)
XMP-Tool-SDK功能确实非常完备,但是要想应用于实际软件产品,踩坑不少.近日就遇到将GPS信息写入exif扩展属性项,始终写入不进去.虽然前期项目对这个库已经做过深入学习,但是经过这次的项目再 ...
最新文章
- python人工智能计算器_招募:基于python的召唤师全时段全技能(含均值AI)计算器全程测试...
- 自动解析复杂类的属性 实现归档或者进行序列化 反序列话的时候为每一个属性添加序列化方法的繁琐...
- 2.15 Python 中的广播-深度学习-Stanford吴恩达教授
- mac下查看tensorboard中的graph
- lesson2-python3数据类型
- Android震动vibrator系统开发全过程
- PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0...
- android内存及内存溢出分析
- ElasticSearch 中的中文分词器该怎么玩?_03
- Magento 添加 google font Adding a google fonts into Magento
- 数据库原理及应用(索引为什么快,数据在磁盘上如何存储)
- C++ ---------------- 成员函数指针揭秘
- NYOJ599 - 奋斗的小蜗牛
- java 读取txt乱码_java 逐行读取txt文本如何解决中文乱码
- 微服务Eureka使用详解
- C++ #include头文件随想
- 自定义Kettle数据库插件 1
- 关于拉格朗日对偶问题中对偶性的理解 (很有趣)
- 底量超顶量超级大黑马指标源码_通达信绝密三代指标,秒杀一切妖股指标公式源码...
- C++证明哥德巴赫猜想
热门文章
- 京东云mysql 外网访问_干货|上云了,如何保障云数据库的高可用?
- 正则匹配中文姓名包括少数名字中间的·
- 麒麟操作系统离线安装nginx
- 【微信小程序】UNI仿驾考宝典答题进度条的一种实现方式
- 码神之路博客部署教程【完整版】基于Linux的Docker部署教程非常详细
- LQBv14-Python:啤酒和饮料
- android studio 不动,解决Android Studio“building project卡住不动”的问题
- Specifying and Modelling Secure Channels in Strand Spaces
- wallpaper代码_五行Python代码自动换你的电脑桌面壁纸(内附源码和exe)
- php7.4 安装xdebug3.1.3扩展