我编写了一个应用程序,它通过 .Net 的 System.Drawing.Image 类中公开的 PropertyItems 从图像中读取基本的 EXIF 数据。但是,我无法通过这些属性检索佳能特定的 EXIF 数据。如何阅读这些信息?正如 Photoshop 读取的那样,我知道它存在于文件中。
最佳答案
我很久以前就发现了这个,但还没有使用过。看起来它有制造商特定信息。
http://renaud91.free.fr/MetaDataExtractor/
更新:
元数据提取器项目自 2002 年以来就针对 Java 运行良好,现在可用于 .NET。它全面支持佳能的 makernotes 以及 Agfa、Casio、Epson、Fujifilm、Kodak、Kyocera、Leica、Minolta、Nikon、Olympus、Panasonic、Pentax、Sanyo、Sigma/Foveon 和 Sony 相机和扫描仪的 makernotes。
您可以在此处浏览多个佳能(和其他)相机图像的示例输出。
该库可通过 NuGet 或 GitHub 获得。
示例用法:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}
在这里查看更新的答案:C# Retrieve Canon Specific EXIF Data
关于C# 检索佳能特定的 EXIF 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707411/