2008-09-03 80 views

回答

4

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

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

2

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

+0

干杯戴夫。我现在[将这个库移植到.NET](http://stackoverflow.com/a/31329551/24874)。 – 2015-07-09 22:50:33

0

几年前,我用Omar Shahine创建了一个JPEG EXIF应用程序,用于处理名为JpegHammer的JPEG EXIF文件。

他从该项目中提取一个库并将其命名为PhotoLibrary,它是一个用于EXIF 2.2标记的简单.NET包装。不幸的是,GotDotNet网站不见了,CodePlex没有它,Omar的网站链接不起作用,我也没有副本了。但是,如果你可以在谷歌周围挖掘,也许你会发现它,它会为你做的伎俩。

5

一个新的和非常快的图书馆是ExifLib - A Fast Exif Data Extractor for .NET 2.0由EXIF元数据的图像西蒙麦肯齐。我最终使用了这个,代码很容易使用和理解。我用它来根据所需日期重新命名应用程序。我不知道有多少次这样的应用程序已被写入。

我的提示:请务必在完成ExifReader对象的调用后调用Dispose,否则文件保持打开状态。

+0

似乎很有希望..谢谢 – Odys 2014-04-14 13:53:07

3

如果你愿意使用开源库,我可以虚心地建议我自己创建一个库吗?

元数据提取器项目自2002年以来一直活跃于Java,现在可用于.NET。

  • 开源(Apache 2.0中)
  • 大量测试和广泛用于
  • 支持许多图像类型(JPEG,TIFF,PNG,WebP的,GIF,BMP,ICO,PCX ...)
  • 支持多种类型的元数据(EXIF,IPTC,XMP,JFIF,...)
  • 支持许多制造商特定领域(佳能,尼康,...)
  • 非常快(完全处理〜400个图像共计1.33GB在〜3秒)内存消耗低
  • 为.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}"); 
相关问题