1. 什么是EXIF
EXIF(Exchangeable Image File Format)交换图像文件格式是一种可以嵌入到数字图像文件中的元数据标准,用于记录照片的拍摄参数和制作信息。这些参数包括拍摄日期、时间、曝光时间、光圈、ISO、焦点距离、摄影机品牌、型号、唯一序列号等信息。
EXIF的产生是数字相机普及后,为了记录数码照片的拍摄信息,规定了拍摄信息的数据规范。EXIF可以通过多种方式保存,最常见的方式是保存在JPEG、TIFF和RAW格式的照片文件中。需要注意的是EXIF信息是不支持png,webp等图片格式的。
EXIF信息对于数字图像处理和管理非常重要。它不仅可以帮助摄影师了解每张照片的拍摄条件和参数,还可以为数字图像管理软件提供有用的数据,例如按日期或摄影机型号分类、过滤和搜索照片等。
EXIF信息也可以用于数字取证和安全领域。例如,通过分析EXIF信息可以确定照片的真实性,防止伪造和篡改。
2. 如何获取图片信息
场景 我们经常在一些聊天软件传输一些照片,例如WX你默认传输的时候他是会被压缩体积很小,应为破坏了EXIF信息,当你设置了原图传输他将保留你照片的EXIF 信息别人只要查看就可以读取你照片的信息。
上传图片是勾选了原图,就可以得到图片的元信息
2.1 网站读取信息
1. 原图信息
2. 非原图信息
2.2 exif.js库进行读取
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.bootcdn.net/ajax/libs/exif-js/2.3.0/exif.js"></script>
</head>
<body>
<div>
<img width="300" height="300" id="img1" src="./images/noOrigin.jpg" alt="" />
<p>非原图</p>
</div>
<div>
<img width="300" height="300" id="img2" src="./images/origin.jpg" alt="" />
<p>原图</p>
</div>
<script>
let img1 = document.getElementById('img1')
let img2 = document.getElementById('img2')
EXIF.getData(img1, function () {
let allInfo = EXIF.getAllTags(this)
console.log('打印***非原图', allInfo)
})
EXIF.getData(img2, function () {
// 获取拍摄方向信息
// let orientation = EXIF.getTag(this, 'Orientation')
// // 获取曝光时间信息
// let exposureTime = EXIF.getTag(this, 'ExposureTime')
// // 获取ISO信息
// let iso = EXIF.getTag(this, 'ISOSpeedRatings')
// // 获取焦距信息
// let focalLength = EXIF.getTag(this, 'FocalLength')
// 所有信息...
let allInfo = EXIF.getAllTags(this)
console.log('打印***原图', allInfo)
})
</script>
</body>
</html>
部分参数说明
GPS 相关名称说明
GPSVersionIDGPS 版本
GPSLatitudeRef南北纬
GPSLatitude纬度
GPSLongitudeRef东西经
GPSLongitude经度
GPSAltitudeRef海拔参照值
GPSAltitude海拔
GPSTimeStamp GPS 时间戳
GPSSatellites测量的卫星
GPSStatus接收器状态
GPSMeasureMode测量模式
GPSDOP测量精度
GPSSpeedRef速度单位
GPSSpeed GPS 接收器速度
GPSTrackRef移动方位参照
GPSTrack移动方位
GPSImgDirectionRef图像方位参照
GPSImgDirection图像方位
GPSMapDatum地理测量资料
GPSDestLatitudeRef目标纬度参照
GPSDestLatitude目标纬度GPSDestLongitudeRef目标经度参照
GPSDestLongitude目标经度
GPSDestBearingRef目标方位参照
GPSDestBearing目标方位
GPSDestDistanceRef目标距离参照
GPSDestDistance目标距离
GPSProcessingMethod
GPS 处理方法名
GPSAreaInformation GPS 区功能变数名
GPSDateStampGPS 日期
GPSDifferential GPS 修正
3. 网络安全
-
EXIF信息也可以被用于数字犯罪调查。例如,如果一张照片被用来散布虚假信息或者违法内容,它的EXIF信息可以帮助调查人员追踪照片来源和制作者。
-
隐私问题:照片的EXIF信息中包含拍摄日期、时间、地点、相机型号等个人隐私信息,这些信息容易被黑客获取,导致隐私泄露。因此,在上传照片时,需要特别注意隐私问题,避免包含敏感信息。尤其是不要在照片上显示自己的地址等敏感信息。
-
恶意文件问题:除了EXIF信息外,照片文件中还可能嵌入恶意代码或病毒,这些恶意文件可能会给计算机带来安全隐患。因此,在下载和查看照片时,需要注意是否存在恶意文件。建议使用杀毒软件对下载的照片进行检查。