2016-03-15 72 views
-1

我有圖像(JPG,GIF,PNG等)本地硬盤。我需要讀取所有文件信息,例如位置詳細信息緯度經度或位置名稱和照片創建日期每個圖像。請幫助我如何閱讀位置詳細信息和日期。C#鏡像文件信息讀取位置的詳細信息和日期

這是我的C#代碼是不顯示位置的信息或創建日期

string directory = (@"C:\Photos"); 
var AllImages = Directory.GetFiles(directory, "*.jpg", 
            SearchOption.AllDirectories) 
         .Select(Image.FromFile).ToList() 

這是我的照片例子

之一。 enter image description here

+0

https://msdn.microsoft.com/en-us/library/xddt0dz7.aspx CodeProject上也有一些庫。你想要的術語是'EXIF' – Plutonix

回答

1

您正在查找的關鍵字是圖片元數據,或者EXIF data。您可以從Image.PropertyItems屬性讀取原始數據並手動解析它,也可以使用外部庫爲您完成工作。

我推薦ExifLib - 這是一個非常基本但能夠讀取EXIF數據的庫。這裏有一個例子:

// Instantiate the reader 
using (ExifReader reader = new ExifReader(@"C:\temp\testImage.jpg")) 
{ 
    // Extract the tag data using the ExifTags enumeration 
    DateTime datePictureTaken; 
    if (reader.GetTagValue<DateTime>(ExifTags.DateTimeDigitized, out datePictureTaken)) 
    { 
     // Do whatever is required with the extracted information 
     MessageBox.Show(this, string.Format("The picture was taken on {0}", 
      datePictureTaken), "Image information", MessageBoxButtons.OK); 
    } 
} 
+0

我使用visual studio 2015,我是否安裝軟件包ExifLib。另外我需要讀取所有圖像文件夾。例如C:\ Photos – Rob

+0

另外檢查出[元數據提​​取器](https://github.com/drewnoakes/metadata-extractor-dotnet)。 –