c# - 使用 .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但我不知道如何使用它。任何帮助将不胜感激。
解决方案
我认为这条线是错误的:
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);
}
推荐阅读
- postgresql - 从子查询中保存价值并在以后重用它?
- meteor - Meteor Async ValidatedMethod 被调用,函数参数未定义
- android - 如何删除“短信”分享权限?
- android - 以编程方式在工作资料中安装自定义应用程序或来自 Google Play 商店的应用程序
- c++ - 具有两个不同缓冲区的指针算法
- .net - 如何使 .net 程序集可见
- ruby-on-rails - <% end -%> 的 - 是什么?
- selenium - 如何处理 sockettimeoutexception:通过 selenium chrome 驱动程序启动 URL 时读取超时
- javascript - wp_add_inline_script 没有向我的页面添加任何内容,不知道为什么
- javascript - Geoserver 中 SAMEORIGIN 的 X-Frame-Options 阻止查看我的 iframe