2

给定一个文件名,我需要能够访问我当前正在开发的(封闭源)项目的图像中的某些元数据,而不考虑元数据的存储方式(即 Exif、IPTC 或 XMP)。特别是,我想访问地理标记数据。

有没有一种方法可以在不需要任何第三方程序集或库的情况下做到这一点即,它是否可以使用股票 Microsoft .NET)以及如何完成?还是我被很多 P/Invoking WIC卡住了?

4

2 回答 2

3

检查FreeImage 项目- 具有 .NET 包装器的 C++ 图像加载和处理。也许它可以做到这一点

于 2008-10-10T23:16:11.753 回答
2

老问题,我知道,但 EXIF 可以仅使用基本的 .NET 框架(没有第三方 DLL)来提取。EXIF 项目可以作为 PropertyItems 从 Image 对象中提取。我正在使用与此类似的方法将特定属性提取为字符串(例如 Date Taken 或 Maker Note):

public static string GetEXIFInfo(System.Drawing.Image img, int propertyItem) {
    return new ASCIIEncoding().GetString(img.GetPropertyItem(propertyItem).Value);
}

以下是您可以用来获取各种 EXIF 值的 propertyitem 值列表:http: //msdn.microsoft.com/en-us/library/ms534416%28VS.85%29.aspx

于 2010-01-22T22:01:34.187 回答