什么是.Net最好的EXIF库?

时间:2008-09-03 16:05:39

标签: .net exif

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

7 个答案:

答案 0 :(得分:7)

如果您正在针对框架的v3(或更高版本)进行编译,那么您可以使用BitmapSource class加载图片,Metadata property通过{{3}}

公开EXIF元数据

答案 1 :(得分:6)

Simon McKenzie创建了一个新的非常快的库ExifLib - A Fast Exif Data Extractor for .NET 2.0。我最终使用了这个,代码易于使用和理解。我用它作为应用程序根据所用的日期重命名。我想知道有多少次写过这样的应用程序。

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

答案 2 :(得分:4)

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

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

答案 3 :(得分:4)

我在feeddemon中保存的那个,当我有时间(程序员的时间是什么时候,LOL)低于我时,我可以查看更多

ExifTagCollection - EXIF Metadata extraction library

麦克

答案 4 :(得分:3)

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

自2002年以来, metadata-extractor 项目一直活跃于Java,现在可用于.NET。

  • 开源(Apache 2.0)
  • 经过严格测试和广泛使用
  • 支持多种图像类型(JPEG,TIFF,PNG,WebP,GIF,BMP,ICO,PCX ......)
  • 支持许多元数据类型(Exif,IPTC,XMP,JFIF,...)
  • 支持许多制造商特定领域(佳能,尼康,......)
  • 非常快(完全处理约400张图像,总计1.33GB,约3秒),内存消耗低
  • Build for .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}");

答案 5 :(得分:2)

查看此metadata extractor。它是用Java编写的,但也被移植到C#。我已经使用Java版本编写了一个小工具来根据日期和模型标签重命名我的jpeg文件。非常容易使用。

答案 6 :(得分:0)

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

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

但是,如果你可以在Google周围挖掘,也许你会找到它并且它会为你做到这一点。