首页 > 解决方案 > 使用 .Net Core 读取简单的图像元数据

问题描述

我看过一些关于此的帖子,但我无法应用其中任何一个。这可能是由于文档更改。我使用了 ImageSharp 和 System.Drawings。.Net Core 不支持 System.Drawings。我发现的 ImageSharp 示例也不起作用。(我不是 C# 专家)

这就是我用来使用 Imagesharp 获取元数据的方法

using (Image<Rgba32> image = Image.Load(input))
{
   var exif = image.MetaData.ExifProfile.GetValue;

   var met = exif.GetValue(SixLabors.ImageSharp.MetaData.Profiles.Exif.ExifTag.ImageDescription);   
}

问题是我的exif变量为空(我不确定我做错了什么)。是否有一个简单的代码示例可用于执行此操作?我试图在这里阅读文档https://docs.sixlabors.com/api/ImageSharp/SixLabors.ImageSharp.MetaData.Profiles.Exif.ExifProfile.html但我不知道如何使用它。任何帮助将不胜感激。

标签: c#.netimagesharp

解决方案


我认为这条线是错误的:

var exif = image.MetaData.ExifProfile.GetValue;

.GetValue当您在此处引用方法时,只需从末尾删除。

所以

using (var image = Image.Load(input))
{
   var exif = image.MetaData.ExifProfile;
   var met = exif.GetValue(SixLabors.ImageSharp.MetaData.Profiles.Exif.ExifTag.ImageDescription);
}

推荐阅读