Joe*_* Gö 72 c# exif photography
我想在C#中编写一个小程序,通过我的jpeg照片,例如,将它们分类为过时的文件夹(使用我的约会惯例,该死...).
有没有人知道以编程方式获取日期和时间或曝光等EXIF数据的相对简单的方法?谢谢!
Jan*_*ich 46
正如所建议的,您可以使用某些第三方库,或者手动执行(这不是那么多工作),但最简单和最灵活的可能是使用.NET中的内置功能.欲了解更多信息:
我说"它是最灵活的",因为.NET不会试图以任何方式解释或合并数据.对于每个EXIF,您基本上都得到一个字节数组.根据您实际需要的控制程度,这可能是好的也可能是坏的.
另外,我应该指出,属性列表实际上并不直接对应于EXIF值.EXIF本身存储在具有重叠ID的多个表中,但.NET将所有内容放在一个列表中并重新定义某些项的ID.但只要您不关心精确的EXIF ID,您就可以使用.NET映射了.
Dav*_*ths 19
查看此元数据提取器.它是用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);
Run Code Online (Sandbox Code Playgroud)
从 JPEG 图像获取 EXIF 数据涉及:
Image类具有PropertyItems和PropertyIdList属性.你可以使用它们.
| 归档时间: |
|
| 查看次数: |
112185 次 |
| 最近记录: |