C#获取照片拍摄时间解析
C#获取照片时间的源码挺实用的,是做图像、文件管理或者媒体的时候。通过这个资源,你可以轻松提取图片的拍摄时间,这个功能大多数时候都需要用到,尤其是在需要按照时间顺序整理或图像文件时。你只要用Image.FromFile()
加载图片,通过读取图片的 Exif 元数据,就能找到拍摄日期和时间。其实,Exif 信息里包含了多有用的元数据,比如曝光设置、焦距等,你可以根据需求获取不同的数据。System.Drawing.Imaging命名空间了多方法,你获取和解析这些元数据。
最常见的做法是获取属性 ID 为0x9003
的“DateTimeOriginal”信息,把它转换成可读的时间格式,直接用DateTime.ParseExact()
一下就行了。代码也不复杂,如果你对这块有兴趣,可以看看下面的示例:
using System;
using System.Drawing;
using System.Drawing.Imaging;
public static void ExtractDateTimeFromImage(string imagePath) {
try {
using (var image = Image.FromFile(imagePath)) {
foreach (PropertyItem item in image.PropertyItems) {
if (item.Id == 0x9003) {
byte[] bytes = new byte[item.Len];
item.Value.CopyTo(bytes, 0);
string dateTimeString = System.Text.Encoding.UTF8.GetString(bytes).TrimEnd('0');
DateTime dateTime = DateTime.ParseExact(dateTimeString, "yyyy:MM-dd HH:mm:ss", null);
Console.WriteLine($"图片拍摄于:{dateTime}");
break;
}
}
}
} catch (Exception ex) {
Console.WriteLine($"错误:{ex.Message}");
}
}
如果你想在 C#中图像的 Exif 信息,这段代码就有参考价值。,根据不同的设备和软件,Exif 信息会有点差异,你需要根据具体情况进行一些调整。
通过下载这个源码,肯定能让你的图像能力更上一层楼。嗯,,像这种提取时间信息的代码可以应用到多场景,挺值得掌握的。
下载地址
用户评论