You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
6.0 KiB
175 lines
6.0 KiB
libexif
|
|
-------
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
libexif is a library for parsing, editing, and saving EXIF data. It is
|
|
intended to replace lots of redundant implementations in command-line
|
|
utilities and programs with GUIs.
|
|
|
|
|
|
FEATURES
|
|
--------
|
|
|
|
libexif supports parsing, editing and saving of EXIF data. In addition, it
|
|
has gettext support. All EXIF tags described in EXIF standard 2.1 (and most
|
|
from 2.2) are supported. Many maker notes from Canon, Casio, Epson,
|
|
Fuji, Nikon, Olympus, Pentax and Sanyo cameras are also supported.
|
|
|
|
|
|
REQUIREMENTS
|
|
------------
|
|
|
|
libexif is written in plain C and does not require any additional library.
|
|
GNU gettext will be used for language translation, if available.
|
|
|
|
|
|
LIMITATIONS
|
|
-----------
|
|
|
|
libexif can only handle some maker notes, and even those not very well. More
|
|
work needs to be done. Note that libmnote has been merged with libexif - it
|
|
is no longer needed.
|
|
|
|
|
|
USAGE
|
|
-----
|
|
|
|
We have documented the libexif API using doxygen and are making
|
|
the results available at http://libexif.sourceforge.net/api/
|
|
|
|
The short test programs in the test directory illustrates how to create
|
|
valid EXIF data from scratch, how to save EXIF data and how to load EXIF
|
|
data from data in memory. There are also a few simple example programs
|
|
available in the contrib/examples/ directory. Don't hesitate to contact
|
|
us at <libexif-devel@lists.sourceforge.net> if you have any questions
|
|
on how to use libexif.
|
|
|
|
To link to libexif into your own package, we recommend using the
|
|
pkgconfig utility (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ For
|
|
your convenience, libexif both provides libexif-uninstalled.pc and
|
|
installs libexif.pc.
|
|
|
|
|
|
FRONTENDS
|
|
---------
|
|
|
|
Right now, I know of the following frontends to libexif:
|
|
- exif: A small command-line utility to show EXIF information in JPEG
|
|
files (http://www.sourceforge.net/projects/libexif).
|
|
- gexif: A GTK+ frontend for editing EXIF data
|
|
(http://www.sourceforge.net/projects/libexif).
|
|
- gphoto2: A command-line frontend to libgphoto2, a library to access a
|
|
wide range of digital cameras (http://www.gphoto.org).
|
|
- gtkam: A GTK+ frontend to libgphoto2 (http://www.gphoto.org).
|
|
- thirdeye: Digital photos organizer and driver for eComStation
|
|
(http://ecomstation.ru/thirdeye).
|
|
- digikam: digital photo management application for KDE
|
|
(http://www.digikam.org/)
|
|
|
|
If you would like to migrate your program to use libexif or add EXIF support
|
|
to it, don't hesitate to contact the authors.
|
|
|
|
|
|
LIBRARIES
|
|
---------
|
|
|
|
I know of the following libraries that use or have been inspired by libexif:
|
|
- libexif-gtk: library of widgets to help display EXIF tags in GTK
|
|
programs (part of the libexif project)
|
|
- pel: PHP-Code (http://pel.sourceforge.net)
|
|
|
|
|
|
BUILDING
|
|
--------
|
|
|
|
It really depends on your environment what to do in order to get libexif
|
|
to build. Building from the source tar ball usually involves the commands:
|
|
|
|
./configure
|
|
make
|
|
sudo make install
|
|
|
|
When building from source out of CVS, something like the following will be
|
|
necessary:
|
|
|
|
gettextize
|
|
mv po/Makevars.template po/Makevars
|
|
aclocal -I auto-m4 -I m4m
|
|
autoheader
|
|
libtoolize --force
|
|
automake --add-missing
|
|
autoconf
|
|
./configure
|
|
make
|
|
|
|
Or, probably just:
|
|
|
|
autoreconf -i
|
|
./configure
|
|
make
|
|
|
|
Besides the standard arguments, configure takes several specific to libexif:
|
|
|
|
--disable-docs To disable producing any documentation
|
|
--enable-internal-docs Build internal code docs if Doxygen available
|
|
--enable-ship-binaries To include Windows DLLs in 'make dist'
|
|
|
|
Certain specialized applications can reduce the size of the libexif
|
|
binary by setting one or both of the following macros in the CPPFLAGS
|
|
environment variable at configure time. Each one removes certain kinds of
|
|
text strings and constants from the binary. Applications which need
|
|
to access specific, known EXIF tags and know in advance the meaning of
|
|
their data have no need of those strings and can save considerable space
|
|
by eliminating them.
|
|
|
|
-DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages,
|
|
mandatory EXIF fields (disabling auto-tag-fixup)
|
|
-DNO_VERBOSE_TAG_DATA Names of enumerated tag data contents
|
|
|
|
|
|
INTERNATIONALIZATION
|
|
--------------------
|
|
|
|
The libexif translations are made by volunteers working on their own,
|
|
either directly with the libexif project or through one of two translation
|
|
coordination sites, the Translation Project
|
|
<http://translationproject.org/domain/libexif.html> and Launchpad
|
|
<https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12>.
|
|
Any updates to language translations coordinated by the Translation Project
|
|
must be made through their web site, but all other languages can be
|
|
updated either through Launchpad (preferred) or by sending updates to
|
|
the libexif developers mailing list directly. As of this writing, the
|
|
following languages must be updated through the Translation Project:
|
|
cs da de es fr it ja nl pl sk sv uk vi
|
|
|
|
If you are interested in translating libexif into a new language, we
|
|
recommend that you join one of the above translation groups and take
|
|
advantage of the systems they have built to help you. A translation
|
|
disclaimer is NOT required for libexif at the Translation Project; by making
|
|
a translation, you agree implicitly to provide it under the same license
|
|
terms as the rest of libexif (LGPL).
|
|
|
|
|
|
AUTHORS
|
|
-------
|
|
|
|
libexif has originally been written by Curtis Galloway
|
|
<curtisg@users.sourceforge.net>. Because of the original design not
|
|
supporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net>
|
|
rewrote libexif from scratch. Since then, many more people have contributed
|
|
to libexif.
|
|
|
|
|
|
LINKS
|
|
-----
|
|
|
|
Some links you might want to check out if you are interested in further
|
|
information about EXIF.
|
|
|
|
- http://drewnoakes.com/code/exif: metadata extraction framework in Java
|
|
- http://www.exif.org: information about the EXIF standard.
|
|
- http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
|
|
like libexif in Perl. Seems to support a lot of MakerNotes.
|