C#下取得Exif中照片拍摄日期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/// <summary>
/// 获取Exif中的照片拍摄日期
/// </summary>
/// <param name="fileName">文件名</param>
/// <returns>拍摄日期</returns>
private string GetTakePicDate(string fileName)
{
    Encoding ascii = Encoding.ASCII;
    string picDate;
 
    FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    Image image = Image.FromStream(stream, true, false);
 
    foreach (PropertyItem p in image.PropertyItems)
    {
        //获取拍摄日期时间
        if (p.Id == 0x9003) // 0x0132 最后更新时间
        {
            stream.Close();
 
            picDate =  ascii.GetString(p.Value);
            if ((!"".Equals(picDate)) && picDate.Length >= 10)
            {
                // 拍摄日期
                picDate = picDate.Substring(0, 10);
                picDate = picDate.Replace(":","-");
                return picDate;
            }
        }
    }
    stream.Close();
    return "";
}

 

posted @   meil  阅读(4274)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2006-10-08 项目结束阶段PM要做好三项工作
2006-10-08 如何战胜软件测试的困境
2006-10-08 鲜为人知的软件项目管理原则
点击右上角即可分享
微信分享提示