Fig.1. Basic Structure of JPEG Files.
JPEG SOI : FF D8 // 图片起始 JPEG APP1: FF E1 APP1 Size : 1C 45 // 注意:前面这三个WORD都是big endian的 EXIF Flag : 'Exif', 0, 0 --------- TIFF : TIFF Header: Byte Order: 'II' Flag : 2A 00 IFD0 offset : 08 00 00 00 ---------------------------- IFD0: Entries Count : 0B 00 // 11 DE 1: Tag : 0E 01 // Image Description 图像说明 Type : 02 00 // ASCII Size : 0B 00 00 00 Value : 92 00 00 00 // from TIFF Header DE 2: Tag : 0F 01 // Make 制造 Type : 02 00 Size : 06 00 00 00 Value: B2 00 00 00 DE 3: Tag : 10 01 // Model 型号 Type : 02 00 Size : 05 00 00 00 Value: CA 00 00 00 … DE 11: Tag : 69 87 // EXIF IFD Type : 04 00 // LONG Size : 01 00 00 00 Value: 1C 01 00 00 // Offset of EXIF IFD IFD1 Offset : 18 03 00 00 // END of IFD0 IFD0 DATA: ... // 存放IFD0中DE 的Value数据 EXIF sub IFD : Entries Count : 18 00 DE : Tag : 9A 82 // Exposure time ... Next IFD : 00 00 00 00 // END of EXIF IFD. 按标准IFD规定,表示没有后继IFD EXIF sub IFD Data : ... // 存放EXIF sub IFD的Value数据 ----------------------------------------------- IFD1 : // EXIF中用于存放缩略图 Entries Count : 06 00 DE : Tag : 03 01 ... Next IFD : 00 00 00 00 // END OF IFD1. EXIF只用到两个TIFF IFD IFD1 Data : ... // Thumbnail etc. ----------------------------------- // end of TIFF ----------------------------- // 其它JPEG Marker segments JPEG EOI : FF D9 // 图片结束 |
FFE1 | APP1 标记 | ||||
SSSS | APP1 数据 | APP1 数据大小 | |||
45786966 0000 | Exif 头 | ||||
49492A00 08000000 | TIFF 头 | ||||
XXXX. . . . | IFD0 (主图像) | 目录 | |||
LLLLLLLL | 连接到 IFD1 | ||||
XXXX. . . . | IFD0的数据域 | ||||
XXXX. . . . | Exif 子IFD | 目录 | |||
00000000 | 连接结束 | ||||
XXXX. . . . | Exif 子IFD的数据域 | ||||
XXXX. . . . | Interoperability IFD | Directory | |||
00000000 | 连接结束 | ||||
XXXX. . . . | Interoperability IFD的数据域 | ||||
XXXX. . . . | Makernote IFD | Directory | |||
00000000 | 连接结束 | ||||
XXXX. . . . | Makernote IFD的数据域 | ||||
XXXX. . . . | IFD1(缩略图像) | 目录 | |||
00000000 | 连接结束 | ||||
XXXX. . . . | IFD1的数据域 | ||||
FFD8XXXX. . . XXXXFFD9 | 缩略图像 |
TagID | 属性名称 | type | 说明 |
8769 | EXIF IFD | LONG | 数字相机的信息 |
8825 | GPS IFD | LONG | 地理位置信息 |
A005 | Interoperability IFD | LONG | 互操作扩展信息 |
927C | MakerNote IFD | LONG | 厂商自己独有的注释信息 |
| Well you are returning a null, are you making provision for that? – Ruan May 14 '15 at 6:19 | ||
| Yes i handling situation when null is being returned ! – Neeraj Jain May 14 '15 at 6:24 | ||
| This happened because xmpcore.jar is not in the classpath, a dependency of metadata-extractor. – saurabheights Mar 10 at 13:09 |
GroupId | ArtifactId | Version | Scope | 描述 |
---|---|---|---|---|
p | xmpcore | 5.1.2 | compile | The XMP Library for Java is based on the C++ XMPCore library and the API is similar. |
junit | junit | 4.11 | test | JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. |
本文发布于:2024-02-04 08:04:49,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170702647653778.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |