在C#中从JPEG,XMP或EXIF读取数据元数据

前端之家收集整理的这篇文章主要介绍了在C#中从JPEG,XMP或EXIF读取数据元数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在寻找一种从C#中的JPEG文件中读取元数据(具体来说是日期)的一种体面的方式,并且稍稍延伸一些.据我所知,现有的信息显示如下代码
BitmapMetadata bmd = (BitmapMetadata)frame.Metadata;
string a1 = (string)bmd.GetQuery("/app1/ifd/exif:{uint=36867}");

但是在我的无知中,我不知道GetQuery()将返回的元数据是什么,还是要传递什么.

我想先尝试读取XMP,如果XMP不存在,则返回EXIF.有没有一个这样做的简单方法

谢谢.

解决方法

以下似乎很好,但如果有坏事,我会感谢任何意见.
public string GetDate(FileInfo f)
    {
        using(FileStream fs = new FileStream(f.FullName,FileMode.Open,FileAccess.Read,FileShare.Read))
        {
            BitmapSource img = BitmapFrame.Create(fs);
            BitmapMetadata md = (BitmapMetadata)img.Metadata;
            string date = md.DateTaken;
            Console.WriteLine(date);
            return date;
        }
    }

猜你在找的C#相关文章