Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么可以';我是否从图像中检索EXIF属性?_C#_.net_Jpeg_Exif - Fatal编程技术网

C# 为什么可以';我是否从图像中检索EXIF属性?

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

我有一个带有一些属性的图像,可以在资源管理器的“属性”对话框中看到:

但是当我尝试使用MSDN上列出的属性信息检索它们时

我通常都会返回这两个值,但对于某些文件,我会返回make,但对模型的搜索会返回一个
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));
}