在 .NET 中获取图像元数据,而不考虑元数据格式

发布于 2024-07-08 04:48:01 字数 301 浏览 6 评论 0原文

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

有没有一种方法可以不需要任何第三方程序集或库(即它可以使用现有的 Microsoft .NET)以及如何完成? 或者我是否陷入了许多 WIC 的 P/Invoking

Given a filename, I need to be able to access certain metadata in an image for a (closed source) project I'm currently developing, without regard to how the metadata is stored (that is, Exif, IPTC, or XMP). In particular, I want to access geotagging data.

Is there a way of doing this without requiring any third party assemblies or libraries (i.e. is it doable with stock Microsoft .NET) and how would it be done? Or am I stuck with a lot of P/Invoking of WIC?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幻想少年梦 2024-07-15 04:48:01

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

Check the FreeImage project - a C++ image loading and processing that has .NET wrapper. perhaps it can do that

小苏打饼 2024-07-15 04:48:01

老问题,我知道,但 EXIF 可以仅使用基本 .NET 框架(无需第三方 DLL)来提取。 EXIF 项可以作为 PropertyItems 从 Image 对象中提取。 我正在使用与此类似的方法将特定属性提取为字符串(例如拍摄日期或制作者注释):

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

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

Old question, I know, but EXIF can be extracted with just the base .NET framework (no third party DLLs). EXIF items can be extracted from an Image object as PropertyItems. I'm using a method similar to this to extract a particular property as a string (e.g. Date Taken or Maker Note):

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

And here's a list of propertyitem values you can use to get various EXIF values: http://msdn.microsoft.com/en-us/library/ms534416%28VS.85%29.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文