• 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";
            }
  • 相关阅读:
    backup-rsync主机配置
    msyqldump备份
    会话固定攻击(session fixation attack)
    正确理解 Session 的安全性
    Yii自定义辅助函数
    php缓冲机制及嵌套级别 ob_get_level
    method_exists 与 is_called
    给类动态添加新方法
    PHP Closure(闭包)类详解
    PHP Closure(闭包)类详解
  • 原文地址:https://www.cnblogs.com/weiling/p/1569067.html
Copyright © 2020-2023  润新知