您的位置:首页 > 编程语言 > C#

C# 獲取照片拍攝時間

2012-12-15 21:39 1026 查看
http://www.cnblogs.com/weiling/archive/2009/09/18/1569067.html

找了好久才找到這個方法貼出來分享下,這個方法主要是獲取照片的拍攝時間^_^

調用的時候如下;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, true, false);
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";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: