29

我正在寻找简单直接的解决方案来访问.Net 中 jpeg 图像的 EXIF 信息。有人有这方面的经验吗?

4

7 回答 7

10

如果您愿意使用开源库,我可以谦虚地推荐一个我自己的创作吗?

数据提取器项目自 2002 年以来一直在 Java 中运行良好,现在可用于 .NET。

  • 开源(Apache 2.0)
  • 经过大量测试和广泛使用
  • 支持多种图像类型(JPEG、TIFF、PNG、WebP、GIF、BMP、ICO、PCX...)
  • 支持多种元数据类型(Exif、IPTC、XMP、JFIF、...)
  • 支持许多制造商特定领域(佳能、尼康……)
  • 非常快(在约 3 秒内完全处理约 400 张图像,总计 1.33GB),内存消耗低
  • 为 .NET 3.5、.NET 4.0+ 和 PCL 构建

它可以通过NuGetGitHub获得。

示例用法:

IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);

foreach (var directory in directories)
foreach (var tag in directory.Tags)
    Console.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
于 2015-07-09T22:44:22.687 回答
7

如果您正在针对框架的 v3(或更高版本)进行编译,则可以使用BitmapSourceclass加载图像,该类通过Metadata属性公开 EXIF 元数据

于 2010-04-25T07:27:17.140 回答
5

一个新的非常快的库是ExifLib—— Simon McKenzie的 .NET 2.0 的快速 Exif 数据提取器。我最终使用了这个,代码易于使用和理解。我将它用于根据拍摄日期重命名的应用程序。我想知道这样的应用程序已经写了多少次了。

我的提示:确保在完成对 ExifReader 对象或文件保持打开状态后调用 Dispose。

于 2011-12-21T10:48:47.360 回答
4

我喜欢Atalasoft 的 DotImage Photo,但它是一个闭源解决方案,每个开发许可证的成本约为 600。

您还可以查看Codeplex 的 DTools,这是一个旨在补充标准 Fx 的开源框架。它包括一些与 Exif 相关的类。

于 2008-09-03T16:24:32.777 回答
4

我保存在 feeddemon 中供我有空时查看更多内容(程序员什么时候?哈哈)如下

ExifTagCollection - EXIF 元数据提取库

麦克风

于 2008-09-03T16:37:54.820 回答
2

看看这个元数据提取器。它是用 Java 编写的,但也已移植到 C#。我已经使用 Java 版本编写了一个小实用程序来根据日期和模型标签重命名我的 jpeg 文件。非常容易使用。

于 2008-10-01T07:54:18.097 回答
0

几年前,我与 Omar Shahine 一起创建了一个小型 JPEG EXIF 应用程序来处理 JPEG EXIF 文件,称为 JpegHammer。

他从该项目中提取了一个库并将其命名为 PhotoLibrary,它是 EXIF 2.2 标签的简单 .NET 包装器。不幸的是,GotDotNet 站点已经消失,CodePlex 没有它,Omar 的网站链接不起作用,我也没有副本了。

但是,如果您可以在 Google 周围进行挖掘,也许您会找到它,它会为您解决问题。

于 2010-03-24T19:40:50.770 回答