Exchangeable Image File (EXIF)图片信息

目录

1. 什么是 EXIF?

2. 通过 EXIF 获取信息

2.1 EXIF 信息查看器(在线)

2.2 使用 JavaScript 获取 EXIF

2.2.1 使用 CDN 引入 exif.js

2.2.2 添加图片

2.2.3 调用 EXIF 方法获取图片信息

2.2.4 最终实现效果 

2.3 EXIF 参数说明


1. 什么是 EXIF?

  EXIF(Exchangeable Image File format)是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

 EXIF 可以附加于 JPEG、TIFF、RIFF、RAW 等文件之中,为其增加有关数码相机拍摄信息的内容和索引图(缩略图)或图像处理软件的版本信息。

上面是从 EXIF 信息查看器官网摘抄的内容,简单理解:

  • EXIF 信息是照片详情数据,例如时间、地点、相机参数等
  • EXIF 信息存在于 JPEG、TIFF、RIFF、RAW 等格式的文件中,不支持 PNG、WEBP

2. 通过 EXIF 获取信息

2.1 EXIF 信息查看器(在线)

EXIF信息查看器无需安装软件,只需上传照片即可查看完整EXIF信息,包括机身、镜头型号、拍摄时间、相机快门次数,支持JPEG、TIFF、CR2、NEF、XMP等多种图片格式。无需下载,比Exif Show, ExifPro更好用的EXIF查看器!https://exif.tuchong.com/

上传一只兔子,获取的图片信息有限

 

上传一个真实的风景照 原图 ,获取的图片信息很多

使用电脑自带的图片查看器,也可以查看许多详细信息

 

2.2 使用 JavaScript 获取 EXIF

2.2.1 使用 CDN 引入 exif.js

https://cdn.jsdelivr.net/npm/exif-jsicon-default.png?t=M85Bhttps://cdn.jsdelivr.net/npm/exif-js

    <!-- 引入 exif.js -->
    <script src="https://cdn.jsdelivr.net/npm/exif-js"></script>

2.2.2 添加图片

    <div>
      <h3>野香山(原图)</h3>
      <img width="300" height="200" id="image1" src="./a.jpg" />
    </div>

    <div>
      <h3>兔子(非原图)</h3>
      <img width="200" height="300" id="image2" src="./b.jpg" />
    </div>

2.2.3 调用 EXIF 方法获取图片信息

EXIF.getData(img, callback) —— 获取图像的数据

EXIF.getTag(img, tag) —— 获取图像的某项数据

EXIF.getAllTags(img) —— 获取图像的全部数据,值以对象的方式返回

EXIF.pretty(img) —— 获取图像的全部数据,值以字符串的方式返回

    <script type="text/javascript">
      // 获取图片 DOM
      const imageOneDom = document.querySelector("#image1");
      // 图片加载完成后,执行 EXIF.getData()
      imageOneDom.onload = () => {
        EXIF.getData(imageOneDom, function () {
          // 获取图像的全部数据,值以字符串的方式返回
          const prettyData = EXIF.pretty(this);
          console.log('获取图像的全部数据,值以字符串的方式返回 ===', prettyData);

          // 获取图像的全部数据,值以对象的方式返回
          const getAllTagsData = EXIF.getAllTags(this);
          console.log('获取图像的全部数据,值以对象的方式返回 ===', getAllTagsData);

          // 获取图像的某个数据
          const getTagData = EXIF.getTag(this, 'Make');
          console.log('获取图像的某个数据 ===', getTagData);

        });
      };
    </script>

2.2.4 最终实现效果 

注意:使用 Live Server 启动项目,否则会出现图片跨域的问题


image图片存在跨域问题的分析和解决 - 梁涛999 - 博客园一、问题描述: 下载历史课堂板书原来是需要点图片一张张下载,比较麻烦;调整为把所有图片合并为pdf后下载。应用jsPDF插件,在移动端获取图片地址时,报跨域问题。 二、知识点补充: 1、jsPDF 是https://www.cnblogs.com/liangtao999/p/15892525.html

2.3 EXIF 参数说明

  • 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 修正

参考链接:

第三章(照片隐私EXIF)_哔哩哔哩_bilibili第三章(照片隐私EXIF)是小满网络安全系列的第3集视频,该合集共计7集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilibili.com/video/BV1eZ4y1C7Jc?p=3&vd_source=8bc01635b95dbe8ecd349b2c23b03a10

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyrelion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值