#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 //
- Android -- 加载大图片到内存,从gallery获取图片,获取图片exif信息
1. 加载大图片到内存,从gallery获取图片 android默认的最大堆栈只有16M, 图片像素太高会导致内存不足的异常, 需要将图片等比例缩小到适合手机屏幕分辨率, 再加载. 从gallery ...
- 以最省内存的方式把大图片加载到内存及获取Exif信息和获取屏幕高度和宽度的新方法
我们在加载图片时经常会遇到内存溢出的问题,图片太大,我们加载图片时,一般都是用的如下一般方法(加载本地图片): /** * 不作处理,去加载图片的方法,碰到比较大的图片会内存溢出 */ private ...
- 照片EXIF信息的读取和改写的JAVA实现
由于项目需要对照片的EXIF信息进行处理,因此在网上搜索了一番.捣鼓出来了,写下,总结. 需要用到2个jar包,metadata-extractor-2.3.1和mediautil-1.0.这2个ja ...
- 使用PHP获取图像文件的EXIF信息
在我们拍的照片以及各类图像文件中,其实还保存着一些信息是无法直观看到的,比如手机拍照时会有的位置信息,图片的类型.大小等,这些信息就称为 EXIF 信息.一般 JPG . TIFF 这类的图片文件都会 ...
- IOS: 使用imageIO获取和修改图片的exif信息
使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...
- Android 图片Exif信息相关的获取与修改
1 Exif是什么 Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.ISO.焦距.日期时间 ...
- Android--操作图片Exif信息
前言 在Android系统中,图片文件在内存中以像素点的二维数组加载,存放像素信息,还会在开头加上一些额外的照片拍摄参数信息,这些信息就是Exif.Android2.0之后,媒体库加入了操作图片Exi ...
- 使用Java程序读取JPG Tif等格式图片的exif信息
package com.util; import java.io.File;import java.util.Iterator; import com.drew.imaging.ImageProces ...
- 在Android下通过ExifInterface类操作图片的Exif信息
什么是Exif 先来了解什么是Exif.Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.I ...
随机推荐
- SharedPreferencesUtil
用于缓存一个临时的变量 比如 SharedPreferencesUtil.put(getApplicationContext(), "userImage", user.conten ...
- hdu 4635 Strongly connected(强连通)
考强连通缩点,算模板题吧,比赛的时候又想多了,大概是不自信吧,才开始认真搞图论,把题目想复杂了. 题意就是给你任意图,保证是simple directed graph,问最多加多少条边能使图仍然是si ...
- <四>面向对象分析之UML核心元素之用例
一:基本概念 --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值. --->所谓用例,就是一件事情,要完成这 ...
- css中将div定位居中
一直,我是认为定一个width,然后写一句margin:0 auto,就可以,但是有时也会不管用. 例如当我要定一个宽度为700的div,用相对定位定在中间.任你怎么拉伸都是居中.而position: ...
- 零基础编程指南(By Turtle)
[零.基础] 1.看文章:<程序猿搜索的技巧>(未完成) [一.入门] 学习语言:VB 安装:下载VB6即可 教程:<李天生vb从入门到精通>http://www.xin372 ...
- 通过js检测到iframe,使父窗口重定向到index -----------???----------------------
通过js检测到iframe,使父窗口重定向到index -----------???---------------------- 如果本身已将在iframe中,那么重定向的页面应该直接添加到父级ifr ...
- Delphi RichEdit操作
1.选择设置对齐 RichEdit1.SelectAll;RichEdit1.Paragraph.Alignment:=taLeftJustify; // switch for other align ...
- Xamarin Mono Android Ios 安装、破解(4.12)
一.Windows下面的安装 1. 安装环境介绍: Win8.1 企业版64位.VS2013,mono-android-4.12.02001,下面的安装过程都是在VS2013已经安装成功之后的操作,本 ...
- lightoj 1022
直接算即可,特别要注意精度 #include<cstdio> #include<cmath> int main(){ int t, CASE(0); double r; sca ...
- CSS选择器的兼容性
CSS 1 CSS2.1 CSS3 :hover 在IE6中只有a元素可用.E:empty 貌似在webkit核心浏览器中有些小bug.如果这个bug依然存在,不太确定如何测试.IE6不支持.clas ...