C# 为什么可以';我是否从图像中检索EXIF属性?
我有一个带有一些属性的图像,可以在资源管理器的“属性”对话框中看到: 但是当我尝试使用MSDN上列出的属性信息检索它们时 我通常都会返回这两个值,但对于某些文件,我会返回make,但对模型的搜索会返回一个C# 为什么可以';我是否从图像中检索EXIF属性?,c#,.net,jpeg,exif,C#,.net,Jpeg,Exif,我有一个带有一些属性的图像,可以在资源管理器的“属性”对话框中看到: 但是当我尝试使用MSDN上列出的属性信息检索它们时 我通常都会返回这两个值,但对于某些文件,我会返回make,但对模型的搜索会返回一个ArgumentException属性,无法找到 迭代图像上的属性,如下所示: foreach (var prop in image.PropertyItems) { Console.WriteLine("{0}\t:\t{1}\t:\t{2}\t:\t{3}", prop.Id, p
ArgumentException
属性,无法找到
迭代图像上的属性,如下所示:
foreach (var prop in image.PropertyItems)
{
Console.WriteLine("{0}\t:\t{1}\t:\t{2}\t:\t{3}", prop.Id, prop.Len, prop.Type, Encoding.UTF8.GetString(prop.Value));
}
(根据第条)
显示我的图像中确实缺少模型属性
有什么好处?元数据是否以我应该查找的其他格式存储?可能是此文件中的相机模型不是作为exif存储的,而是作为其他标记(如xmp或特定相机标记)存储的。例如,您可以在上检查此项 在这种情况下,我可以从Phil Harvey()推荐很棒的ExifTool。您可以尝试使用该库。它支持多种不同类型的元数据(Exif、IPTC、JFIF、XMP…)以及多种图像和视频格式 在NuGet上提供 如果你能分享你的图片,我可以帮助你进一步诊断这个问题
foreach (var prop in image.PropertyItems)
{
Console.WriteLine("{0}\t:\t{1}\t:\t{2}\t:\t{3}", prop.Id, prop.Len, prop.Type, Encoding.UTF8.GetString(prop.Value));
}