我正在寻找简单直接的解决方案来访问 .Net 中 jpeg 图像的 EXIF 信息。 有人有这方面的经验吗
如果您愿意使用开源库,我可以谦虚地推荐一个我自己创建的库吗?
metadata-extractor 项目自 2002 年以来一直在 Java 中运行良好,现在可用于 .NET。
使用示例:
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}");
一个新且非常快的库是 ExifLib - Simon McKenzie 的 .NET 2.0 的快速 Exif 数据提取器。我最终使用了这个,代码很容易使用和理解。我将它用于根据拍摄日期重命名的应用程序。我想知道这样的应用程序已经被写过多少次了。
我的提示:一旦完成 ExifReader 对象或文件保持打开状态,请确保对它们调用 Dispose。
我喜欢 Atalasoft 的 DotImage Photo,但它是一个闭源解决方案,每个开发许可证的费用约为 600 美元。
您还可以查看 Codeplex 的 DTools,这是一个旨在补充标准 Fx 的开源框架。 它包括一些Exif相关的类。
查看这个元数据提取器。它是用 Java 编写的,但也已移植到 C#。我使用 Java 版本编写了一个小实用程序来根据日期和型号标签重命名我的 jpeg 文件。非常容易使用。
几年前,我与 Omar Shahine 一起开发了一个名为 JpegHammer 的小型 JPEG EXIF 应用程序来处理 JPEG EXIF 文件。
他从该项目中提取了一个库并将其命名为 PhotoLibrary,它是 EXIF 2.2 标签的一个简单的 .NET 包装器。不幸的是,GotDotNet 网站已经消失,CodePlex 没有它,Omar 的网站链接不起作用,我也没有副本了。
但是,如果您可以在 Google 上进行挖掘,也许您会找到它,并且它会为您解决问题。