zoukankan      html  css  js  c++  java
  • C# 获取照片拍摄时间

    找了好久才找到这个方法贴出来分享下,这个方法主要是获取照片的拍摄时间^_^

    调用的时候如下;ALLNAME是照片的绝对路径...如果返回值为"N/A"说明照片不存在拍摄时间足够属性没有取到
     string time = GetTakePicDateTime(GetExifProperties(AllName));


    //下面是完整的代码
     public static PropertyItem[] GetExifProperties(string fileName)
            {
                FileStream stream 
    = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                
    //通过指定的数据流来创建Image
                System.Drawing.Image image = System.Drawing.Image.FromStream(stream, truefalse);
                PropertyItem[] r 
    = image.PropertyItems;
                 stream.Close();
                
    return r;
            }

            
    private string GetTakePicDateTime(System.Drawing.Imaging.PropertyItem[] parr)
            {
                Encoding ascii 
    = Encoding.ASCII;
                
    //遍历图像文件元数据,检索所有属性
                foreach (System.Drawing.Imaging.PropertyItem p in parr)
                {
                    
    //如果是PropertyTagDateTime,则返回该属性所对应的值
                    if (p.Id == 0x0132)
                    {
                        
    return ascii.GetString(p.Value);
                    }
                }
                
    //若没有相关的EXIF信息则返回N/A
                return "N/A";
            }
  • 相关阅读:
    Unix Programming :文件IO
    Git 小记
    Effective C++ Placement new
    Effective C++ 避免数组多态
    系列文章:云原生Kubernetes日志落地方案
    阿里巴巴大数据产品最新特性介绍--机器学习PAI
    Apache Flink 1.9.0版本新功能介绍
    Flink Checkpoint 问题排查实用指南
    进击的 Java ,云原生时代的蜕变
    8 分钟入门 K8s | 详解容器基本概念
  • 原文地址:https://www.cnblogs.com/weiling/p/1569067.html
Copyright © 2011-2022 走看看