EXIF.Js:读取图片的EXIF信息

首先,EXIF是什么?

EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息,简单来说,Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,需要注意的是EXIF信息是不支持png,webp等图片格式的。(建议自己试的时候,现拍一张,把地理位置信息开启,这样得到的是完整的EXIF信息)

在脚手架下的使用:

npm install exif-js --save

import EXIF from "exif-js"(main.js、app.vue)

app.vue代码:

(注意,这里我最开始是在mounted钩子中配合nextTick还有延时,因为EXIF.js是异步的,但是好像不一定百分百成功,于是就在这里加到了点击图片的回调中)

<template>
  <div id="app">
    <div id="nav">
      <img
        ref="img"
        @click="callback($event)"
        id="img"
        src="./assets/IMG_20190922_082930.jpg"
      />
      <p>{{ imfo }}</p>
    </div>
  </div>
</template>
<script>
import EXIF from "exif-js";

export default {
  data() {
    return {
      imfo: {}
    };
  },
  methods: {
    callback(e) {
      EXIF.getData(e.target, function() {
        var res = EXIF.getAllTags(this);
        console.log(res);
      });
    }
  }
};
</script>
<style lang="less">
img {
  width: 500px;
  height: 500px;
}
#app {
  font-family: "Avenir", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
#nav {
  padding: 30px;
  a {
    font-weight: bold;
    color: #2c3e50;
    &.router-link-exact-active {
      color: #42b983;
    }
  }
}
</style>

得到的信息大概是这样的,包括EXIF标识、TIFF信息以及GPS信息

各种相关信息以及EXIF的其他API,请参见 前端开发仓库

(还有个很奇怪的地方,查EXIF信息的时候发现其中的oriention属性是可以用来进行图片的旋转的,但人家的oriention属性只有1、6、8、3这几个值,我的是0...)

原文地址:https://www.cnblogs.com/linbudu/p/11565868.html

时间: 2024-10-03 22:29:01

EXIF.Js:读取图片的EXIF信息的相关文章

Exif.js获取图片的详细信息(苹果手机移动端上传图片旋转90度)

Exif.js插件介绍 http://code.ciaoca.com/javascript/exif-js/ iOS手机竖着拍的照片经过前端处理之后被旋转了90°的原因以及解决方案 https://www.jianshu.com/p/ad4501db178e 原文地址:https://www.cnblogs.com/fps2tao/p/9208240.html

Java读取图片和EXIF信息

后台需要读取客户端上传的图片,记录图片长宽,客户端以后就可以根据记录的长宽,展示图片. 正常的图片,读取很简单,代码如下: BufferedImage originalImg = ImageIO.read(file.getInputStream()); int originalwidth = originalImg.getWidth(); //上传图片的宽 int originalheight = originalImg.getHeight(); //上传图片的高 但是,有一种情况,客户端拍摄的

Exif.js 读取图像的元数据

Exif.js 提供了 JavaScript 读取图像的原始数据的功能扩展,例如:拍照方向.相机设备型号.拍摄时间.ISO 感光度.GPS 地理位置等数据. 注意事项: EXIF 数据主要来自拍摄的照片,多用于移动端开发,PC 端也会用到,此插件兼容主流浏览器,IE10 以下不支持. github地址 在线实例 实例预览 简单示例 实例预览 获取 base64 编码文件数据 实例预览 异步获取图像数据 使用方法 载入 JavaScript 文件 <script src="exif.js&q

exif.js 实现图片旋转到正常

下载exif.js npm install exif-js --save 引入exif.js import EXIF from 'src/utils/exif-js'; //旋转图片到正常 const _rotateImg = (imgFile) => { return new Promise((resolve, reject) => { EXIF.getData(imgFile, function () { let exifTags = EXIF.getAllTags(this); let

js获取图片的EXIF,解决图片旋转问题

相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转.当时的你肯定时懵逼的,为毛. 其实这就是图片的EXIF搞的鬼. 什么是EXIF 简单来说,Exif 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部,也就是说 Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,它就好像是傻瓜相机的日期打印功能一样,只不过 Exif信息所记录的资讯更为详尽和完备.Exif 所记录的元数据信息非常丰富

JS读取本地IP地址信息

HTML <div> <p>点击下面的按钮,查看本地IP信息</p> <span class="span">点击查看</span> <p class="cip"></p> <p class="cid"></p> <p class="cname"></p> </div> CSS html

Android中读取图片EXIF元数据之metadata-extractor的使用

一.引言及介绍 近期在开发中用到了metadata-extractor-xxx.jar 和 xmpcore-xxx.jar这个玩意, 索性查阅大量文章了解学习,来分享分享. 本身工作也是常常和处理大图片打交道,摸索摸索也是多多益善. 首先介绍一下什么是EXIF.EXIF是 Exchangeable Image File 的缩写,这是一种专门为数码相机照片设定的格式.这样的格式能够用来记录数字照片的属性信息,如相机的品牌及型号.相片的拍摄时间.拍摄时所设置的光圈大小.快门速度.ISO等信息.除此之

读取图片信息(exif),使用com.drew.metadata.Metadata

---恢复内容开始--- 最近在开发中用到了metadata-extractor-xxx.jar 和 xmpcore-xxx.jar这个玩意, 索性查阅大量文章了解学习,来分享分享.本身工作也是经常和处理大图片打交道,摸索摸索也是多多益善. 首先介绍一下什么是EXIF,EXIF是 Exchangeable Image File 的缩写,这是一种专门为数码相机照片设定的格式.这种格式可以用来记录数字照片的属性信息,如相机的品牌及型号.相片的拍摄时间.拍摄时所设置的光圈大小.快门速度.ISO等信息.

ios系统 竖屏拍照 canvas处理后 图片旋转(利用exif.js解决ios手机上传竖拍照片旋转90度问题)

转:https://www.cnblogs.com/lovelgx/articles/8656615.html ---恢复内容开始--- 问题:html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 解决方法:利用exif.js解决ios手机上传竖拍照片旋转90度问题 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非横拍的ios照片进行角度旋转修正. 利用exif.js读取照片的拍摄信息,详见 htt