一尘不染

如何使用C#从文件获取EXIF数据

c#

我想用C#编写一个小程序,通过我的jpeg照片,例如,将它们分类到带日期的文件夹中(使用MY约会约定,该死的…)。

有谁知道以编程方式获取日期和时间或曝光等EXIF数据的相对简单的方法?谢谢!


阅读 421

收藏
2020-05-19

共1个答案

一尘不染

签出此元数据提取器它是用Java编写的,但也已移植到C#。
我使用Java版本编写了一个小实用程序,用于根据日期和模型标签重命名jpeg文件。很好用。


EDIT 元数据提取器也 支持.NET。这是一个非常快速和简单的库,用于访问图像和视频中的元数据。

它完全支持Exif以及IPTC,XMP和文件类型(包括JPEG,PNG,GIF,PNG,ICO,WebP,PSD等)中的许多其他类型的元数据。

var directories = ImageMetadataReader.ReadMetadata(imagePath);

// print out all metadata
foreach (var directory in directories)
foreach (var tag in directory.Tags)
    Console.WriteLine($"{directory.Name} - {tag.Name} = {tag.Description}");

// access the date time
var subIfdDirectory = directories.OfType<ExifSubIfdDirectory>().FirstOrDefault();
var dateTime = subIfdDirectory?.GetDateTime(ExifDirectoryBase.TagDateTime);

可通过NuGetGitHub上代码获得

2020-05-19