wiki上有EXIF的介绍,不抄了 http://zh.wikipedia.org/wiki/EXIF
分析exif数据的c库有libexif, c++库有exiv2。exiv2比libexif支持更多格式,最近更新也比较活跃。这里简单介绍下如何使用libexif
libexif主要的数据结构有ExifData, ExifContent, ExifEntry
ExifData
包含了所有的exif数据,可以简单地用exif_data_new_from_file(const char* path)来创建,其内部使用ExifLoader. 也可以new一个loader手动载入然后取出ExifData.
ExifContent
包含了单个IFD的所有tag,可以用 exif_data_foreach_contetn()来遍历操作ExifData中的ExifContent,用exif_content_get_ifd来读取一个content所属的ifd
ifd有如下值