libexif -------
libexif 是一个用于解析、编辑和保存 EXIF 数据的库。它旨在取代命令行工具和 GUI 程序中大量冗余的实现。
libexif 支持 EXIF 数据的解析、编辑和保存。此外,它还具有 gettext 支持。支持 EXIF 标准 2.1(以及大部分 2.2)中描述的所有 EXIF 标签。还支持来自佳能、卡西欧、爱普生、富士、尼康、奥林巴斯、宾得和三洋相机的许多制造商注释。
libexif 用纯 C 语言编写,不需要任何额外的库。如果可用,将使用 GNU gettext 进行语言翻译。
libexif 只能处理部分制造商注释,而且处理得并不完善。需要更多工作。请注意,libmnote 已合并到 libexif 中——不再需要它。
我们使用 doxygen 记录了 libexif API,并将结果提供在 http://libexif.sourceforge.net/api/ 上。
test 目录中的简短测试程序演示了如何从头创建有效的 EXIF 数据、如何保存 EXIF 数据以及如何从内存中加载 EXIF 数据。contrib/examples/ 目录中还有几个简单的示例程序。如果您对如何使用 libexif 有任何疑问,请随时通过 [email protected] 联系我们。
要将 libexif 链接到您自己的包中,我们建议使用 pkgconfig 工具(参见 http://www.freedesktop.org/wiki/Software/pkg-config/)。为方便起见,libexif 同时提供了 libexif-uninstalled.pc 并安装了 libexif.pc。
目前,我知道以下 libexif 的前端:
如果您想迁移您的程序以使用 libexif 或为其添加 EXIF 支持,请随时联系作者。
我知道以下使用或受 libexif 启发的库:
构建 libexif 的具体操作确实取决于您的环境。从源代码 tar 包构建通常涉及以下命令:
./configure make sudo make install
从 CVS 源码构建时,需要执行类似以下步骤:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
或者,可能只需:
autoreconf -i ./configure make
除了标准参数外,configure 还接受一些特定于 libexif 的参数:
--disable-docs 禁止生成任何文档 --enable-internal-docs 如果 Doxygen 可用,则构建内部代码文档 --enable-ship-binaries 在 'make dist' 中包含 Windows DLL
某些专用应用程序可以通过在 configure 时在 CPPFLAGS 环境变量中设置一个或两个以下宏来减小 libexif 二进制文件的大小。每个宏都会从二进制文件中移除某些类型的文本字符串和常量。需要访问特定的已知 EXIF 标签并预先知道其数据含义的应用程序不需要这些字符串,可以通过消除它们来节省大量空间。
-DNO_VERBOSE_TAG_STRINGS EXIF 标签的名称和描述、调试消息、 必填的 EXIF 字段(禁用自动标签修复) -DNO_VERBOSE_TAG_DATA 枚举标签数据内容的名称
libexif 的翻译由志愿者自行完成,要么直接与 libexif 项目合作,要么通过两个翻译协调站点之一,即 Translation Project http://translationproject.org/domain/libexif.html 和 Launchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12。 由 Translation Project 协调的语言翻译的任何更新都必须通过其网站进行,但所有其他语言可以通过 Launchpad(推荐)或直接向 libexif 开发者邮件列表发送更新来更新。截至撰写本文时,以下语言必须通过 Translation Project 更新: cs da de es fr it ja nl pl sk sv uk vi
如果您有兴趣将 libexif 翻译成新语言,我们建议您加入上述翻译组之一,并利用他们建立的系统来帮助您。Translation Project 上 libexif 不需要翻译免责声明;进行翻译即表示您默认同意按照与 libexif 其余部分相同的许可条款(LGPL)提供翻译。
libexif 最初由 Curtis Galloway [email protected] 编写。由于原始设计不支持编辑和保存,Lutz Mueller [email protected] 从头重写了 libexif。此后,许多人贡献了 libexif。
如果您对 EXIF 的更多信息感兴趣,可以查看以下链接。