您的位置:首页 > 其它

获取图片的EXIF信息

2017-04-29 22:58 357 查看
对于专业的摄影师来说,Exif信息是很重要的信息,也包含了非常多的东西

1.EXIF

EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息。

Exif是一种图像文件格式,它的数据存储与JPEG格式是完全相同的。利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息。

Exif 所记录的元数据信息非常丰富,主要包含了以下几类信息:

拍摄日期

拍摄器材(机身、镜头、闪光灯等)

拍摄参数(快门速度、光圈F值、ISO速度、焦距、测光模式等)

图像处理参数(锐化、对比度、饱和度、白平衡等)

图像描述及版权信息

GPS定位数据

缩略图

2.exif.js查看

下载地址:http://code.ciaoca.com/javascript/exif-js/

使用方法非常简单,引用脚本,使用api方法即可获取

API 方法如

名称说明
EXIF.getData(img, callback)获取图像的数据

能兼容尚未支持提供 EXIF 数据的浏览器获取到元数据。

EXIF.getTag(img, tag)获取图像的某个数据
EXIF.getAllTags(img)获取图像的全部数据,值以对象的方式返回
EXIF.pretty(img)获取图像的全部数据,值以字符串的方式返回
示例代码

EXIF.getData(document.getElementById('img'), function(){ EXIF.getAllTags(this); EXIF.getTag(this, 'Orientation'); });//img是image的id


缺点:每次都要多引用exif.js脚本,而且如果显示的是缩略图,就会捉襟见肘

3.exif类库

类库1
https://www.codeproject.com/articles/43665/exiflibrary-for-net
类库2
https://www.codeproject.com/Articles/27242/ExifTagCollection-An-EXIF-metadata-extraction-libr
我使用的是第二种,只因为源码简单

ExifTagCollection exif = new ExifTagCollection(@"c:\somefile.jpg");

foreach (ExifTag tag in exif)
Console.Out.WriteLine(tag);


如果是在类库中使用,文件路径获取可使用以下方法

//获取当前应用程序域的基目录
AppDomain.CurrentDomain.BaseDirectory
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: