我已經編寫了一個應用程序,通過.Net的System.Drawing.Image類中公開的PropertyItems從圖像中讀取基本EXIF數據。但是,我無法通過這些屬性檢索Canon特定的EXIF數據。如何閱讀這些信息?我知道它存在於文件中,就像Photoshop讀取它一樣。C#檢索Canon特定的EXIF數據
回答
BCL中沒有任何內容可以幫助EXIF。
看看this SO問題和答案(什麼是.Net最好的EXIF庫?)。有幾種商業和開源庫可用於獲取EXIF數據。
如果您針對Framework(或更高版本)的v3進行編譯,那麼您可以使用BitmapSource
class加載圖像,該圖像通過Metadata
property公開EXIF元數據。這給圖片中的EXIF信息提供了更加緊密的連接,儘管製造商的註釋是特定的並且需要進一步的解碼。
我剛發現這個,但還沒有使用它。它看起來像它有製造商的具體信息。
http://renaud91.free.fr/MetaDataExtractor/
UPDATE:
的元數據提取項目一直活着,並自2002年以來對Java很好,現在可用於.NET。它全面支持佳能製造商以及愛克發,卡西歐,愛普生,富士膠捲,柯達,京瓷,徠卡,美能達,尼康,奧林巴斯,松下,賓得,三洋,Sigma/Foveon和索尼相機和掃描儀。
您可以在此瀏覽多個佳能(和其他)相機圖像的示例輸出。
該庫可通過NuGet或GitHub使用。
使用範例:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}
看到更新的答案在這裏:C# Retrieve Canon Specific EXIF Data
如果他們是RAW文件,你可以try using dcraw.net來得到信息。
我幾個月前在C#中編寫了一個取證工具,並使用Phil Harvey的EXIF Tool從照片中獲取EXIF數據。是的,這是一個PERL庫,但它很容易安裝並集成到我的C#應用程序中。
元數據提取器項目自2002年以來一直活躍於Java,現在可用於.NET。它全面支持佳能製造商以及愛克發,卡西歐,愛普生,富士膠捲,柯達,京瓷,徠卡,美能達,尼康,奧林巴斯,松下,賓得,三洋,Sigma/Foveon和索尼相機和掃描儀。
您可以瀏覽幾個佳能(和其他)相機圖像here的示例輸出。
使用範例:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}
注意,在Mark Redman's answer的lib是我的Java庫從許多年前的過時的端口。我現在維護C#和Java項目都具有功能奇偶性。
- 1. 檢索特定數據
- 2. 檢索特定值數據
- 3. Firebase檢索特定數據
- 4. C#:檢索JPEG評論(不是Exif)
- 5. 檢索特定的數據行
- 6. 檢索特定的行數據
- 7. 如何檢索特定的列數據
- 8. Android的sqlite:如何檢索特定列的特定數據?
- 9. 領域檢索特定數據
- 10. 從firebase檢索特定數據
- 11. 從網站檢索特定數據
- 12. 以特定循環值檢索數據
- 13. 從數據庫檢索特定值php
- 14. 從特定行檢索數據
- 15. iOS - 從UIImage檢索EXIF UserComment
- 16. 使用EXIF數據檢索DJI無人機的圖像
- 17. 使用iphone-exif EXIF數據
- 18. 如何檢索Android數據庫中特定日期的數據
- 19. 如何從數據庫中檢索特定行的數據
- 20. Android studio SQLite數據庫特定條目的數據檢索
- 21. 檢索EXIF數據從UWP拍攝不保存到磁盤
- 22. iPhone EXIF數據
- 23. 使用HtmlAgilityPack檢索特定網址C#
- 24. 從數據庫中檢索特定數據並顯示
- 25. 無法從SQLite數據庫檢索特定數據(Android)
- 26. 從Firebase數據庫檢索特定數據
- 27. iphone從mysql數據庫檢索特定數據
- 28. 如何從ScriptDB數據庫檢索特定數據?
- 29. 如何從Firebase檢索數據和特定用戶數據
- 30. 構建sql查詢以從數據庫檢索特定數據
我可以驗證這個奇妙的作品!許多製造商將大部分有用的Exif數據存儲在「Makernote」字段中。這個工具將所有這些解析成一個充滿Exif標籤的可愛的小XML友好字典。 – glenneroo 2011-01-09 22:12:13
這是我的_metadata-extractor_項目的過時端口。我現在維護一個正式的C#版本,它具有更多功能和許多錯誤修復。請參閱[我的答案](http://stackoverflow.com/a/32771543/24874)瞭解更多信息。 – 2015-09-24 21:55:14