搜索插件、代码仓与 APP 分类

插件详情v3.3.0

exif

从数字图像文件中解码Exif元数据。支持的格式:TIFF、JPEG、HEIC、PNG、WebP

AndroidiOSmacOSWindowsLinux
近 30 天下载
16.6万
喜欢数
130
Pub 分数
140

安装插件

flutter pub add exif

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

exif 包可从 TIFF、JPEG、HEIC、PNG 和 WebP 等格式的数字图像文件中解码 Exif 元数据。它提供了一个简单的 API,用于提取嵌入的信息,如相机型号、GPS 坐标、时间戳和曝光设置。该包专为跨平台使用而设计,支持 Android、iOS、macOS、Windows 和 Linux。对于需要详细图像来源信息或地理标记功能的应用程序而言,该包非常理想。基于 Dart 构建,可与 Flutter 项目无缝集成。

适合场景

  • 从照片中提取相机信息
  • 从图像中检索GPS位置数据
  • 分析图像捕获时间戳
  • 验证图像元数据完整性
  • 支持照片管理应用

主要特点

  • 支持多种图像格式
  • 跨平台兼容性
  • 用于元数据提取的简单 API
  • 轻便高效
  • 开源且持续维护

适合对象

  • Flutter 应用需要图像元数据
  • 照片编辑工具
  • 基于地理位置的应用程序
  • 数字取证工具
  • 内容管理系统

使用建议

  • 需要图像文件访问权限
  • 可能不支持所有专有的 Exif 标签
  • 仅限读取;不修改元数据
  • 性能取决于文件大小
  • 没有内置的损坏文件错误处理

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

exif

Pub Package Dart CI

Dart package to decode Exif data from TIFF, JPEG, HEIC, PNG and WebP files.

Dart port of ianaré sévi's EXIF library: https://github.com/ianare/exif-py.

Usage

  • Simple example:
printExifOf(String path) async {

  final fileBytes = File(path).readAsBytesSync();
  final data = await readExifFromBytes(fileBytes);

  if (data.isEmpty) {
    print("No EXIF information found");
    return;
  }

  if (data.containsKey('JPEGThumbnail')) {
    print('File has JPEG thumbnail');
    data.remove('JPEGThumbnail');
  }
  if (data.containsKey('TIFFThumbnail')) {
    print('File has TIFF thumbnail');
    data.remove('TIFFThumbnail');
  }

  for (final entry in data.entries) {
    print("${entry.key}: ${entry.value}");
  }

}
  • example app: https://github.com/bigflood/exifviewer

所属分类

依赖

依赖清单 5 项

源码仓库

使用此插件的项目