#define FMT_BYTE        1           //Format Byte
//////////////////////////////////////////////////////////////////////////
#define MAX_SECTIONS   20       //JPG 文件中能够允许的最多 SECTION 个数
 
#ifndef M_SOI
#define M_SOF0 0xC0            // Start Of Frame N
#define M_SOF1 0xC1            // N indicates which compression process
#define M_SOF2 0xC2            // Only SOF0-SOF2 are now in common use
#define M_SOF3 0xC3
#define M_SOF5 0xC5            // NB: codes C4 and CC are NOT SOF markers
#define M_SOF6 0xC6
#define M_SOF7 0xC7
#define M_SOF9 0xC9
#define M_SOF100xCA
#define M_SOF110xCB
#define M_SOF130xCD
#define M_SOF140xCE
#define M_SOF150xCF
#define M_SOI   0xD8            // Start Of Image (beginning of datastream)
#define M_EOI   0xD9            // End Of Image (end of datastream)
#define M_SOS   0xDA            // Start Of Scan (begins compressed data)
#define M_JFIF 0xE0            // Jfif marker
#define M_EXIF 0xE1            // Exif marker
#define M_COM   0xFE            // COMment
 
//定义 APP 标识(SECTION)
#define M_APP0 0xE0
#define M_APP1 0xE1
#define M_APP2 0xE2
#define M_APP3 0xE3
#define M_APP4 0xE4
#define M_APP5 0xE5
#define M_APP6 0xE6
//...
#endif
 
// Describes tag values
//注意: 下面的定义是按照 Intel CPU 来定义的,也就是说所有的都是高位在后,
//这样的定义可能与 EXIF 白皮书上的定义不一致。例如白皮书上把 TAG_MAKE 定义为 0F01
//下面是主要信息
#define TAG_MAKE              0x010F    //相机DC 制造商
#define TAG_MODEL             0x0110    //DC 型号
#define TAG_ORIENTATION       0x0112    //拍摄时方向,例如向左手旋转DC 90度拍摄照片
#define TAG_XRESOLUTION       0x011A    //X 轴分辨率
#define TAG_YRESOLUTION       0x011B    //Y 轴分辨率
#define TAG_RESOLUTIONUNIT    0x0128    //分辨率单位,例如 inch, cm
#define TAG_DATATIME          0x0132    //日期时间
#define TAG_YBCR_POSITION     0x0213    //YCbCr 位置控制,例如 居中
#define TAG_COPYRIGHT         0x8298    //版权
#define TAG_EXIF_OFFSET       0x8769    //EXIF 偏移,这时候相当于处理一个新的 EXIF 信息
 
//
#define TAG_IMAGEWIDTH        0x0001    //图像宽度
#define TAG_IMAGEHEIGHT       0x0101    //图像高度
//BOOKMARK
//辅助信息
#define TAG_EXPOSURETIME      0x829A    //曝光时间,例如 1/30 秒
#define TAG_FNUMBER           0x829D    //光圈,例如 F2.8
#define TAG_EXIF_VERSION      0x9000    //EXIF 信息版本
#define TAG_DATETIME_ORIGINAL0x9003    //照片拍摄时间,例如 2005-10-13 11:09:35
#define TAG_DATATIME_DIGITIZED 0x9004 //相片被其它图像修改软件修改后的时间,例如 2005-10-13 11:36:35
#define TAG_COMPONCONFIG      0x9101    //ComponentsConfiguration 色彩空间配置
#define TAG_COMPRESS_BIT      0x9202    //每像素压缩位数
#define TAG_SHUTTERSPEED      0x9201    //快门速度,例如 1/30 秒
#define TAG_APERTURE          0x9202    //光圈值,例如 F2.8
#define TAG_BRIGHTNESS        0x9203    //亮度
#define TAG_EXPOSURE_BIAS     0x9204    //曝光补偿,例如 EV0.0
#define TAG_MAXAPERTURE       0x9205    //最大光圈值,例如 F2.8
#define TAG_SUBJECT_DISTANCE 0x9206    //拍摄物距离,例如 3.11 米
#define TAG_METERING_MODE     0x9207    //测光模式,例如矩阵
#define TAG_WHITEBALANCE      0x9208    //LightSource 白平衡
#define TAG_FLASH             0x9209    //是否使用闪光灯
#define TAG_FOCALLENGTH       0x920A    //焦距,例如 7.09mm
#define TAG_USERCOMMENT       0x9286    //用户注释
#define TAG_MAKE_COMMENT      0x927C    //厂商注释。这个版本不提供(2005-10-13)
#define TAG_SUBSECTIME        0x9290    //SubSecTime
#define TAG_SUBTIME_ORIGINAL 0x9291    //SubSecTimeOriginal
#define TAG_SUBTIME_DIGITIZED0x9292    //SubSecTimeDigitized
#define TAG_FLASHPIXVERSION   0x00A0    //Flash Pix 版本
#define TAG_COLORSPACE        0x01A0    //色彩空间,例如 sRGB
 
#define TAG_PIXEL_XDIMENSION 0x02A0    //
#define TAG_PIXEL_YDIMENSION 0x03A0    //
#define TAG_
//EXIFR98
 
//缩略图
#define TAG_INTEROP_OFFSET    0xa005    //偏移
 
#define TAG_FOCALPLANEXRES    0xA20E    //焦平面X轴分辨率,例如 1024000/278
#define TAG_FOCALPLANEYRES    0xA20F    //焦平面X轴分辨率,例如 768000/209
#define TAG_FOCALPLANEUNITS   0xA210    //焦平面分辨率单位
#define TAG_EXIF_IMAGEWIDTH   0xA002    //EXIF 图像宽度(就是这张 JPG 图像)
#define TAG_EXIF_IMAGELENGTH 0xA003    //EXIF 图像高度
 
#define TAG_EXPOSURE_PROGRAM 0x8822    //
#define TAG_ISO_EQUIVALENT    0x8827    //
#define TAG_COMPRESSION_LEVEL0x9102    //
 
#define TAG_THUMBNAIL_OFFSET 0x0201    //缩略图偏移
#define TAG_THUMBNAIL_LENGTH 0x0202    //缩略图大小
 
 
#define TAG_GPS_VERSIONID       0x0000 //GPS 版本
#define TAG_GPS_LATITUDEREF     0x0001 //纬度参考,例如南纬
#define TAG_GPS_LATITUDE        0x0002 //纬度值
#define TAG_GPS_LONGITUDEREF    0x0003 //经度参考,例如东经
#define TAG_GPS_LONGITUDE       0x0004 //经度值
#define TAG_GPS_ALTITUDEREF     0x0005 //海拔高度参考
#define TAG_GPS_ALTITUDE        0x0006 //海拔
#define TAG_GPS_TIMESTAMP       0x0007 //时间戳
#define TAG_GPS_SATELLITES      0x0008 //卫星
#define TAG_GPS_STATUS          0x0009 //状态
#define TAG_GPS_MEASUREMODE     0x000A //
#define TAG_GPS_DOP             0x000B //
#define TAG_GPS_SPEEDREF        0x000C //
#define TAG_GPS_SPEED           0x000D //
#define TAG_GPS_TRACKREF        0x000E //
#define TAG_GPS_TRACK           0x000F //
#define TAG_GPS_IMGDIRECTIONREF0x0010 //
#define TAG_GPS_IMGDIRECTION    0x0011 //
#define TAG_GPS_MAPDATUM        0x0012 //
#define TAG_GPS_DESTLATITUDEREF0x0013 //
#define TAG_GPS_DESTLATITUDE    0x0014 //
#define TAG_GPS_DESTLONGITUDEREF 0x0015//
#define TAG_GPS_DESTLONGITUDE   0x0016 //
#define TAG_GPS_DESTBEARINGREF 0x0017 //
#define TAG_GPS_DESTBEARING     0x0018 //
#define TAG_GPS_DESTDISTANCEREF0x0019 //
#define TAG_GPS_DESTDISTANCE    0x001A //

图片中的Exif信息 的ExifDirectory的大部份常量的更多相关文章

  1. Android -- 加载大图片到内存,从gallery获取图片,获取图片exif信息

    1. 加载大图片到内存,从gallery获取图片 android默认的最大堆栈只有16M, 图片像素太高会导致内存不足的异常, 需要将图片等比例缩小到适合手机屏幕分辨率, 再加载. 从gallery ...

  2. 以最省内存的方式把大图片加载到内存及获取Exif信息和获取屏幕高度和宽度的新方法

    我们在加载图片时经常会遇到内存溢出的问题,图片太大,我们加载图片时,一般都是用的如下一般方法(加载本地图片): /** * 不作处理,去加载图片的方法,碰到比较大的图片会内存溢出 */ private ...

  3. 照片EXIF信息的读取和改写的JAVA实现

    由于项目需要对照片的EXIF信息进行处理,因此在网上搜索了一番.捣鼓出来了,写下,总结. 需要用到2个jar包,metadata-extractor-2.3.1和mediautil-1.0.这2个ja ...

  4. 使用PHP获取图像文件的EXIF信息

    在我们拍的照片以及各类图像文件中,其实还保存着一些信息是无法直观看到的,比如手机拍照时会有的位置信息,图片的类型.大小等,这些信息就称为 EXIF 信息.一般 JPG . TIFF 这类的图片文件都会 ...

  5. IOS: 使用imageIO获取和修改图片的exif信息

    使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...

  6. Android 图片Exif信息相关的获取与修改

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

  7. Android--操作图片Exif信息

    前言 在Android系统中,图片文件在内存中以像素点的二维数组加载,存放像素信息,还会在开头加上一些额外的照片拍摄参数信息,这些信息就是Exif.Android2.0之后,媒体库加入了操作图片Exi ...

  8. 使用Java程序读取JPG Tif等格式图片的exif信息

    package com.util; import java.io.File;import java.util.Iterator; import com.drew.imaging.ImageProces ...

  9. 在Android下通过ExifInterface类操作图片的Exif信息

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

随机推荐

  1. zoj 2770 Burn the Linked Camp (差分约束系统)

    // 差分约束系统// 火烧连营 // n个点 m条边 每天边约束i到j这些军营的人数 n个兵营都有容量// Si表示前i个军营的总数 那么 1.Si-S(i-1)<=C[i] 这里 建边(i- ...

  2. IP网络5种基本寻址方式 (单播、多播、广播、任播、地域多播)

    Addressing methods The Internet Protocol and other network addressing systems recognize five main ad ...

  3. 【转】linux线程模型

    一.定义 关于进程.轻量级进程.线程.用户线程.内核线程的定义,这个很容易找到,但是看完之后你可以说你懂了,但实际上你真的明白了么? 在现代操作系统中,进程支持多线程.进程是资源管理的最小单元:而线程 ...

  4. js时间日期转时间戳

    var contractstarttimea='2016-01-01'; var contractendtimea='2016-05-01'; var contractstart = Date.par ...

  5. 10、TV UI

     TV UI布局 1. 为大屏幕提供适当的布局源文件. 2. 确保UI在一定距离仍然可以看清. 3. 为高清电视提供高分辨率的图标和图像. 1. 把屏幕上的导航控制菜单放在屏幕的左边或者右边,并且将 ...

  6. CentOS7 mariadb 修改编码

    CentOS7 mariadb 编码的修改: 网上看了不少的解决方案,要么是比较老的,要么是不正确,测试成功的方式,记录备查. 登录MySQL,使用SHOW VARIABLES LIKE 'chara ...

  7. [.NET源码学习]实例化Font,遭遇字体不存在的情况。

    实例化Font类时,当传入参数为不存在或未安装的字体时,Windows系统会用Microsoft Sans Serif字体替代该字体. Msdn: "For more information ...

  8. 暴雪hash算法

    你有一个非常大的字符串数组A,现在又有一个字符串B,需要你去检测B是否存在于A中.最简单粗暴的方法是遍历整个A,但是这个方法投入到实际应用时的运行速度是难以接受的.在没有与其他所有字符串比较前怎么知道 ...

  9. css 超出部分显示省略号

    代码: overflow: hidden; white-space: nowrap;  text-overflow: ellipsis; 重点代码:text-overflow: ellipsis; 解 ...

  10. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程:简介及目录》(附上完整工程文件)

    介绍:讲述如何使用Genesis-3D来制作一个横版格斗游戏,涉及如何制作连招系统,如何使用包围盒实现碰撞检测,软键盘的制作,场景切换,技能读表,简单怪物AI等等,并为您提供这个框架的全套资源,源码以 ...