什么是.Net最好的EXIF库?

Jak*_*urc 26 .net exif

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

Row*_*haw 7

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


Dre*_*kes 6

如果您愿意使用开放源代码库,那么我可以谦虚地建议我自己创建的一个吗?

自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}");
Run Code Online (Sandbox Code Playgroud)


小智 5

一个新的非常快的库是由Simon McKenzie提供的ExifLib - 一个用于.NET 2.0快速Exif数据提取器.我最终使用了这个,代码易于使用和理解.我用它作为应用程序根据所用的日期重命名.我想知道有多少次写过这样的应用程序.

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


小智 4

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

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