您所在的位置:下载吧  >  软件下载  >  其他软件  >  程序源码 > Exifr(EXIF读取库)

Exifr(EXIF读取库) v7.0.0 官方版

  • 软件大小:42.1 MB
  • 软件语言:英文
  • 更新时间:2025-01-13
  • 授   权:免费软件
  • 适用平台:WinAll
  • 推荐度: 6
无病毒官方版绿色版
点击查看大图
软件介绍

  Exifr 是一个高效便捷且简单专业的JavaScript EXIF读取库,可帮助用户解析所有MB数据,使用这款软件用户无需读取整个文件并解析MB数据,它可以有根据的读取通常位于元数据所在位置的文件的一小部分,每种平台文件格式和数据类型的处理方法都不同,以确保最佳性能;Exifr支持查找元数据功能,可快速搜索识别由段或嵌套框组成的文件结构,帮助用户快速精准的获取指定的源数据文件,该软件支持读取和处理各种常见的文件,满足用户所有操作需求,有需要的朋友可以下载使用。

Exifr(EXIF读取库)

软件功能

  提取所有ICC标签

  TIFF字典包含不常用的、非标准的和专有的TIFF/EXIF标签(只在全捆中)。

  处理UCS2格式的字符串(XPTitle标签),而不是将其作为一个缓冲区。

  规范化字符串

  将日期恢复为日期类实例

  将GPS坐标从DMS格式转换为DD格式

软件特色

  最快的EXIF库:每个文件+ -1ms

  任何输入:缓冲区,URL,标记等

  文件:.jpg,.tif,.png,.heic,.avif,.iiq

  细分:TIFF(EXIF,GPS等),XMP,ICC,IPTC,JFIF,IHDR

  仅读取前几个字节

  跳过解析不需要的标签

  同构:Browser&Node.js

  没有依赖关系

  提取缩略图

  抢救损坏的文件

  模块化的

  可定制的标签词典

  捆绑为UMD / CJS或ESM

  经过测试和基准测试

  甚至支持 IE11 IE10

官方教程

  安装

  npm install exifr

  Exifr包含三个预先构建的捆绑包。这是一个好主意,开始与发展full,然后缩减到lite,mini或者更好的是,建立自己的周围模块化内核。

Exifr(EXIF读取库)

  浏览器:lite和mini推荐使用,因为功能和文件大小之间存在平衡。UMD格式将库附加到全局window.exifr对象。

  IE和旧版浏览器:内部 legacy版本与polyfill捆绑在一起。了解更多。

  捆绑包和格式

  已满-包含所有内容。打算在Node.js中使用。

  精简版-读取JPEG和HEIC。解析TIFF / EXIF和XMP。

  迷你-精简了基础知识。从JPEG解析最有用的TIFF / EXIF。没有标签字典。

  当然,您可以full在浏览器中使用该版本,也可以在Node.js中使用任何其他构建。

  ESM-在现代浏览器和Node.js中使用的现代语法。

  使用import语法。

  UMD-浏览器和Node.js的通用格式。

  支持CJS require('exifr'),AMD / RequireJS和global window.exifr。

  旧版UMD-适用于较旧的浏览器(最高IE10)。

  与polyfills和shimms捆绑在一起,但Promisepolyfill除外。在这里了解更多。

  详细比较(单击以展开)

  ESM,.js .mjs .cjs扩展名,“ main”,“ module”,“ type”:“ module”

  TL; DR:所有捆绑包均提供两个相同的副本。.mjs和.jsESM。.cjs并.js为UMD。选择一个与您的工具或网络服务器一起使用的工具。

  (单击以展开以获取更多信息)

  命名出口与默认出口

  Exifr导出命名导出和默认导出-包含所有命名导出的对象。

  您可以使用import * as exifr from 'exifr'以及import exifr from 'exifr'(推荐)。

  例子

Exifr(EXIF读取库)

  仅提取某些标签

Exifr(EXIF读取库)

  提取缩略图

Exifr(EXIF读取库)

  网络工作者

Exifr(EXIF读取库)

  浏览器中的UMD

Exifr(EXIF读取库)

  浏览器中的ESM

Exifr(EXIF读取库)

  演示版

  操场

  examples / thumbnail.html,代码

  提取并显示嵌入式缩略图。

  examples / orientation.html,代码

  提取方向并使用canvas或css旋转图像。

  examples / depth-map-extraction.html,代码

  提取并显示深度图。

  基准/gps-dnd.html,对多张照片进行拖放拖放编码

  ,并确定提取GPS所需的时间和RAM。然后将它们标记在地图上。

  examples / worker.html,代码

  在WebWorker中解析文件。

  examples / legacy.html,代码

  在IE10 / IE11中访问,

  基准/格式-reading.html,代码

  比较各种输入类型的读取速度。

  在example /文件夹中还有更多

  警告:一些现代的浏览器会自动旋转元素background-image和/或传递给它们的数据,而无需更改EXIF。这种行为在iOs 13.4 Safari和更高版本的Safari上特别古怪(尽管不是在macOS上)。如果不处理此怪癖,可能会导致图像旋转过度。请参阅examples / orientation.html了解更多信息。

Exifr(EXIF读取库)

  thumbnail(file)

  返回值: Promise

  从照片中提取嵌入的缩略图,返回Uint8Array。

  仅解析必要的EXIF即可找到缩略图的偏移量。

  请查看examples / thumbnail.html和examples / thumbnail.js以了解更多信息。

  thumbnailUrl(file)

  返回:Promise

  仅浏览器

  导出包裹在对象URL中的缩略图。如果不再需要该URL,则必须将其撤消。

  Exifr 班级

  前面提到的函数是内部的包装器:

  实例化new Exifr(options)类

  调用.read(file)以加载文件

  呼叫.parse()或.extractThumbnail()获取输出

  您可以实例化Exif自己以解析元数据并同时高效地提取缩略图。在Node.js中,.file.close()如果以分块模式读取文件,则也有必要关闭文件。

Exifr(EXIF读取库)

  file 争论

  string

  文件路径

  URL,对象URL

  Base64或Base64 URL

  Buffer

  ArrayBuffer

  Uint8Array

  DataView

  Blob, File元素

  options 争论

  array 要解析的标签,其快捷方式 options.pick

  true解析所有段和块的快捷方式

  object 具有精细设置

  所有其他和未定义的属性均从默认值继承:

Exifr(EXIF读取库)

  标签过滤器

  Exifr可以避免读取某些标签,而不是像其他exif库一样读取但不将其包括在输出中。例如,EXIF块中的MakerNote标签通常很大-数十KB。如果不需要,读取这样的标签会浪费时间。

  提示:使用数字标记代码比使用字符串名称甚至更快,因为exifr不必在字典中查找字符串。

  options.pick

  类型: Array

  将要解析的唯一标签的数组。

  在词典中查找指定的标签。启用它们各自的块以进行解析,禁用所有其他块。提取所有请求的标签后,解析结束。

Exifr(EXIF读取库)

  options.skip

  类型:Array

  默认值:['MakerNote', 'UserComments']

  不会解析的标签数组。

  默认情况下,将跳过MakerNote和UserComment标签。但这是在其他地方配置的。

Exifr(EXIF读取库)

  段和块

  EXIF成为所有图像元数据的代名词,但实际上只是TIFF段中许多块之一。而且,细分市场不仅仅是TIFF。

  段(JPEG APP段,HEIC框,PNG块)

  Jpeg将各种格式的数据存储在APP段中。Heic和Tiff文件格式使用不同的结构或命名约定,但是思想是相同的,因此我们将TIFF,XMP,IPTC,ICC和JFIF称为段。

  options.tiff类型bool|object|Array默认值:true

  TIFF APP1段-基本TIFF / EXIF标签,由以下块组成:IFD0(图像),IFD1(缩略图),EXIF,GPS,互操作性

  options.jfif类型bool默认值:false

  JFIF APP0段-其他信息

  options.xmp类型bool默认值:false

  XMP APP1段-其他XML数据

  options.iptc类型bool默认值:false

  IPTC APP13段-标题和版权

  options.icc类型bool默认值:false

  ICC APP2细分-颜色配置文件

  options.ihdr类型bool默认值:(true仅用于PNG)

  PNG标头块-基本文件信息

  TIFF IFD块

  TIFF段由各种IFD(图像文件目录)aka块组成。

  options.ifd0(别名options.image),键入bool|object|Array默认值:true

  IFD0-有关图像的基本信息

  options.ifd1(别名options.thumbnail)类型bool|object|Array默认值:false

  IFD1-有关嵌入式缩略图的信息

  options.exif键入bool|object|Array默认值:true

  EXIF SubIFD-有关照片的详细信息

  options.gps类型bool|object|Array默认值:true

  GPS SubIFD-GPS坐标

  options.interop类型bool|object|Array默认值:false

  Interop SubIFD-互操作性信息

  著名的TIFF标签

  来自EXIF块的值得注意的大标记,默认情况下不会解析,但是可以根据需要启用。

  options.makerNote类型:bool默认值:false

  0x927C MakerNote标签

  options.userComment类型:bool默认值:false

  0x9286 UserComment标签

  XMP

  提取的XMP标签按名称空间分组。每个ns是中的单独对象output。例如output.xmlns,output.GPano,output.crs等...

  对于XMP Extended,请参见 options.multiSegment

  Exifr包含用于分析XMP数据的极简主义的XML解析器。它可能不是100%符合规范,因为XMP是基于XML的,不能将1:1转换为JSON。输出是有根据的,可能会更改或简化数据结构。如果XMP解析器不适合您,则可以通过将其设置options.xmp.parse为来禁用它false。然后,原始的XMP字符串将在提供output.xmp。

  注意事项和XML到JSON的映射

  同时具有属性和子值的标签合并为对象。

  具有单个项目的数组(RDF容器)是未包装的。使用单个项目代替数组。

  如果options.mergeOutput:false:tiff名称空间()的标签合并到中output.ifd0。同样,exifns合并为output.exif。

Exifr(EXIF读取库)

  解析为:

Exifr(EXIF读取库)

  options.multiSegment

  类型:bool

  默认值:false

  不仅可以查找ICC或XMP(XMP扩展)的单个段。

  在极少数情况下,照片可能包含附加的层,嵌入的图像或元数据,而这些内容不适合单个64kB(JPEG)段。

  副作用:禁用分块读取。必须读取整个文件才能找到所有段。

  什么时候有用:

  带有左右眼组合的VR照片(XMP Extended)

  包含深度图的“人像模式”照片(XMP扩展)

  具有自定义ICC颜色配置文件的照片

  子选项:

  options.xmp.multiSegment

  options.icc.multiSegment

  捷径

  options.tiff 用作配置所有TIFF块的快捷方式:

  options.tiff = true启用所有TIFF块(将它们设置为true)。

  options.tiff = false禁用所有TIFF块(将它们设置为false),但明确将其设置为true中的除外options。

  options.tiff = {...} 将相同的子选项应用于所有启用的TIFF块。

  options.tiff = false 可以与任何其他块配对以禁用除所述块之外的所有其他块。

Exifr(EXIF读取库)

  每个TIFF块和整个tiff段也可以使用object或配置array,就像options参数一样。

  object-自定义选项中启用-过滤器(pick,skip)和格式化(translateKeys,translateValues,reviveValues)

  array-已启用,但仅从此数组中选择标签

  TIFF块自动从继承options.tiff,然后从继承options。

Exifr(EXIF读取库)

  块状阅读器

  options.chunked

  类型:bool

  默认值:true

  Exifr只能读取几个块,而不是整个文件。它速度更快,可节省内存和不必要的磁盘读取或网络获取。适用于复杂的文件结构-.tif文件可能指向散布在整个文件中的元数据。

  工作原理:firstChunkSize读取第一个小块(的),以确定文件是否根本包含任何元数据。如果是这样,则chunkSize继续读取(of的)大块,直到找到所有请求的段或直到chunkLimit到达为止。

  支持的输入:块仅对Blob,元素,stringURL,磁盘路径或base64有效。这些输入尚未处理或读入内存。每种输入格式都在单独的文件读取器类中实现。在此处了解有关文件阅读器和模块化的更多信息。

  如果您使用URL作为输入:UrlFetcher从Web服务器获取块(在中实现)使用HTTP Range Requests。如果您的服务器不支持范围,配置不正确或获取的文件小于第一个块大小,则范围请求可能会失败。{chunked: false}如有疑问,请测试您的Web服务器或禁用分块阅读器。

  options.firstChunkSize

  类型:number

  默认值:512节点中的字节数/65536浏览器中的(64 KB)

  探测文件中是否存在exif或元数据痕迹的第一个块的大小(以字节为单位)。

  在浏览器中,通常最好只读取一个较大的块,以希望它包含整个EXIF(而不只是开头),而不是加载多个后续块。而在Node.js中,最好读取尽可能少的数据,并且fs.read()不会导致速度降低。

  options.chunkSize

  类型:number

  默认值:65536字节(64 KB)

  在第一个块之后可以读取的后续块的大小。

  options.chunkLimit

  类型:number

  默认值:5

  exifr在其中搜索数据段和数据块时允许读取的最大后续块数。即故障安全机制,如果文件不包含中要求的所有段或块,则会阻止读取整个文件options。

  如果文件中出现多段段并且options.multiSegment允许读取所有段,则绕过此限制。

  如果在N个块(64 * 5 = 320KB)中找不到exif,则该文件可能不在文件中,因此不再值得阅读。

  输出格式

  options.mergeOutput

  类型:bool

  默认值:true

  将所有已解析的段和块合并到一个对象中。

  警告:mergeOutput: false不能与translateKeys: false或同时解析ifd0(图像)和ifd1(缩略图)一起使用。标记键是数字的,有时是相同的,并且可能会发生冲突。

Exifr(EXIF读取库)

  options.sanitize

  类型:bool

  默认值:true

  从输出中清除不必要的,未转换的或内部的标记(IFD指针)。

  options.silentErrors

  类型:bool

  默认值:true

  错误消息存储在output.errors而不是作为Error实例抛出,并导致承诺被拒绝。

  静默失败会启用读取损坏的文件的功能。但是仅捕获与文件结构相关的错误。

  options.translateKeys

  类型:bool

  默认值:true

  将标记键从数字代码转换为易于理解的字符串名称。即使用Model代替0x0110。大多数键是数字。要访问Model标签,请使用output.ifd0[0x0110]或output.ifd0[272] 了解有关字典的更多信息。

  警告:translateKeys: false请勿与一起使用mergeOutput: false。键可能会冲突,因为ICC,IPTC和TIFF段使用从0开始的数字键。

Exifr(EXIF读取库)

  options.translateValues

  类型:bool

  默认值:true

  将标记值从原始枚举转换为可理解的字符串。了解有关字典的更多信息。

Exifr(EXIF读取库)

  options.reviveValues

  类型:bool

  默认值:true

  将日期从字符串转换为Date实例,并将其他一些标记修改为更易读的格式。了解有关字典的更多信息。

Exifr(EXIF读取库)

  进阶API

  给高级用户的提示。除非您对定制和捆绑程序有所了解,否则无需进一步阅读。

  模块化,Pugin API,配置自定义捆绑

  翻译词典,定制

  与Webpack,宗地,汇总,盖茨比等配合使用...

  表现

  改善性能的提示

  这里有一些提示,用于在处理大量文件时需要从exifr中挤出额外的速度。单击以展开。

  使用options.pick,如果你只需要某些标签

  options.ifd0如果不需要数据,请禁用

  使用exifr.gps(),如果你只需要GPS

  缓存options对象

  基准测试

  自己尝试使用Benchmark / chunked-vs-whole.js进行基准测试

Exifr(EXIF读取库)

  使用+ -4MB图片(最高质量的Google Pixel照片。在带有SSD的中档双核i5机器上进行测试)得到的观察结果。

  节点:解析后fs.readFile= 0.3ms

  节点:按块读取和解析= 0.5ms

  浏览器:处理时间ArrayBuffer= 3毫秒

  浏览器:处理时间Blob= 7毫秒

  浏览器:对象URL = 3毫秒

  拖放100张图像的画廊并提取GPS数据大约需要65毫秒。

  手机的速度要慢4倍左右。每张照片通常4-30毫秒。

  确保访问exifr游乐场或Benchmark / gps-dnd.html,放入您的照片并观看解析的计时器。

变更日志

  有关完整的变更日志,请访问CHANGELOG.md。

  显着变化

  7.0.0 string网址作为file参数现在接受的Node.js(UrlFetcher用途填充工具fetch()中的Node.js)。但仅限full捆绑销售。

  XMP解析中的重大更改。仅会影响带有list和nested的晦涩案例rdf:Description,但仍会破坏更改。

  6.3.0 AVIF支持。

  6.0.0和6.2.0 PNG支持。

  4.3.0 Package.json"main"现在指向UMD捆绑包,以获得更好的兼容性。

  4.1.0开始将垫片和填料与模型捆绑在一起legacy。支持IE10。

  4.0.0添加了XMP分析器和XMP扩展支持。

  3.0.0主要重写,添加了ICC解析器,HEIC文件支持,IE11反向兼容,重新实现了分块阅读器。

Exifr(EXIF读取库)下载地址

本类最新
  • CIMCO Edit

    276.25 MB/2020-08-17

    CIMCOEditV5是CIMCO软件公司专为数控编程而设计的专业软件,该软件以其强大的功能、低廉的价格而风靡欧美,它有强大而实用的数控编辑功能、文件的智能比较、刀位轨迹的三维模拟、DNC传输等功能。其完全的Windows界面,一目了然的地址颜色,强大的在线帮助,会使您爱不释手。

  • CKplayer网页播放器

    336 KB/2020-08-17

    ckplayer是一款在网页上播放视频的免费的网页播放器,功能强大,体积小巧,跨平台,使用起来随心所欲。CKplayer网页播放器主要以adobe的flash(所使用的版本是CS5)平台开发,ckplayer同时也支持html5的视频播放。

  • WordPress

    6.7 MB/2020-08-17

    WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的网志。也可以把WordPress当作一个内容管理系统(CMS)来使用。

  • Discuz论坛

    4.05 MB/2020-08-17

    Discuz!Board(以下简称Discuz!,中国国家版权局著作权登记号2003SR6623)是一个通用的论坛软件系统,用户可以在不需要任何编程的基础上,Discuz论坛通过简单的设置和安装

  • Guns后台管理系统

    12.5 MB/2020-08-17

    Guns后台管理系统是一款项目快速开发管理系统网站搭建模板,基于SpringBoot2开发,内置主控面板、组织架构、用户管理、机构管理、职位管理、权限管理、基础数据、系统功能

  • 狂雨小说cms

    7.8 MB/2020-08-17

    狂雨小说是一款体积轻量、简单易用的轻量级小说网站搭建模板,基于ThinkPHP5.1+MySQL的技术开发,网站搭建和部署便捷简单,通过该模板用户可以快速搭建一个属于自己的小说内

  • Slidev(开发幻灯片展示)

    8.52 MB/2020-08-17

    Slidev是一款非常专业且优秀的开发幻灯片展示软件,作为基于Web的幻灯片制作和演示软件,非常适合开发人员使用,可帮助他们专注于在Markdown中编写内容,软件功能强大,拥有HTML

  • 魔众短链接系统

    27.5 MB/2020-08-17

    魔众短链接系统是一款绿色安全、免费开源的短链接生成网站搭建模板,基于PHP+Mysql开发,可帮助用户快速搭建属于自己的短链接生成网站,该网站界面简洁美观、对SEO非常友好,功

每日更新软件推荐
  • 一周最热
  • 总排行榜

您可能感兴趣的专题

  • 男生必备

    男生必备

    男生们看过来!

  • 安卓装机必备

    安卓装机必备

  • 女生必备

    女生必备

      女生必备app是拥有众多女性用户的手机软件,作为一个女生,生活中像淘宝、京东这类线上购物软件可以说是少不了的,小红书这种穿搭、化妆分享平台也很受欢迎,类似于西柚大姨妈、美柚这种专为女生打造的生理期app更是手机必备,还有大家用的最多拍照美颜app是绝对不能忘记的,除此之外对于一些追星女孩来说,微博也是一个必不可少的软件。超多女生必备软件尽在下载吧!

  • 迅雷看看使用教程

    迅雷看看使用教程

    迅雷看看播放器是一款多功能在线高清多媒体视频播放器,支持本地播放与在线视频点播,采用P2P点对点传输技术,可以在线流畅观看高清晰电影。不仅如此,迅雷看看不断完善用户交互和在线产品体验,让您的工作与生活充满乐趣。

  • 驱动精灵

    驱动精灵

    驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能,也是大家日常生活中经常用到的实用型软件之一了。

  • 拼音输入法

    拼音输入法

    对于电脑文字输入,拼音输入法是一种非常受欢迎的输入法,搜狗拼音输入法、百度拼音输入法、QQ拼音输入法、谷歌拼音输入法、紫光拼音输入法、智能拼音输入法等,你在用哪款呢?一款好用适合自己的拼音输入法一定对您平时帮助很大!下载吧收集了最热门国人最喜欢用的拼音输入法给大家。

  • b站哔哩哔哩怎么使用

    b站哔哩哔哩怎么使用

    很多人都喜欢在b站哔哩哔哩上观看视频,不单是因为可以提前看到一些视频资源,B站的一些弹幕、评论的玩法也是被网友们玩坏了!下面下载吧小编带来了b站哔哩哔哩怎么使用的教程合集!希望能帮到你啦!

  • 抖音短视频app

    抖音短视频app

    抖音短视频app,这里汇聚全球潮流音乐,搭配舞蹈、表演等内容形式,还有超多原创特效、滤镜、场景切换帮你一秒变大片,为你打造刷爆朋友圈的魔性短视频。脑洞有多大,舞台就有多大!好玩的人都在这儿!