我搜索过这个主题,但我能找到的唯一合适的主题是2008年,因此我的新问题。
我正在研究使用C#.Net 4.0语言开发程序。我的程序的目的是从jpegs(制造商,模型,地理位置信息等)中提取EXIF信息,然后将其填充到MySql / Sql服务器数据库中。
有人可以推荐任何适合此项目的好库吗?我也会寻找相机序列号(我知道这在制造商之间有所不同),但是如果有人知道任何现有的库来解决这个问题,那将是最有帮助的。
感谢并享受周末
答案 0 :(得分:7)
metadata-extractor 项目自2002年以来一直很活跃,适用于Java,现在可用于.NET 3.5及更高版本。还有一个PCL版本。
样本用法:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
Console.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
(披露:我维护这个图书馆)
答案 1 :(得分:6)
这个CodeProject文章是在上个月编写的,它的API比其他一些.NET EXIF阅读器有了很大的改进:
http://www.codeproject.com/Articles/36342/ExifLib-A-Fast-Exif-Data-Extractor-for-NET-2-0
答案 2 :(得分:3)
对于基本的EXIF信息(制造商,相机型号,时间,光圈等),我会看一下System.Drawing.Image类 - 特别是PropertiesItems集合。
这门课有些缺点。它需要在检索EXIF信息之前将整个图像加载到内存中(即它有点慢)。它也不处理从相机到相机不一致的所有供应商特定字段。
我非常成功地收集了有关我的照片集的信息(使用各种品牌和型号的十几种不同数码相机拍摄的数万张照片)。