gpt4 book ai didi

c# - 获取 NEF 格式图像的拍摄日期

转载 作者:行者123 更新时间:2023-11-30 12:12:17 25 4
gpt4 key购买 nike

我有一个函数可以获取 JPEG 格式照片的拍摄日期值。我遇到了 NEF Nikon raw 格式的问题。在 Windows 8 中,如果将列添加到 Windows 资源管理器详细信息 View ,我可以看到拍摄日期值。

执行以下命令时收到的错误是“此编解码器不支持指定的属性。”

public string GetDate(FileInfo f)
{
string date;

using (FileStream fs = new FileStream(f.FullName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
BitmapSource img = BitmapFrame.Create(fs);
BitmapMetadata md = (BitmapMetadata)img.Metadata;
date = md.DateTaken;
}

return date;
}

我尝试了这个 article 中的建议在类似的 SO 答案中引用,使用 BitmapMetadata 的 GetQuery 方法,但返回相同的错误,这是我使用的代码:

public string GetDate(FileInfo f)
{
string date;

using (FileStream fs = new FileStream(f.FullName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
BitmapSource img = BitmapFrame.Create(fs);
BitmapMetadata md = (BitmapMetadata)img.Metadata;
object t = Mdata.GetQuery("System.Photo.DateTaken");
}

return date;
}

我正在将其部署到 Windows 8 PC,因此我不介意仅 Windows 8 或 .NET 4.5 的解决方案。

最佳答案

我终于弄明白了这个问题,我必须安装 Nikon NEF Codec在我的电脑上。我感到困惑的是 Windows 8 能够显示 NEF 图像并提供来自 EXIF 的元数据,例如开箱即用。我的直觉告诉我,有一个 Windows 或 .NET 库可供我使用,无需安装编解码器即可获取相同的信息。不幸的是,我时间紧迫,没有时间深入研究。

关于c# - 获取 NEF 格式图像的拍摄日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com