Expand description

This library provides a Rust wrapper around the gexiv2 library, which is itself a GObject-based wrapper around the Exiv2 library, which provides read and write access to the Exif, XMP, and IPTC metadata for media files in various formats.

Most functionality is exposed through methods on the Metadata type.

Usage

A typical use of the library might look something like this:

let file = "myimage.jpg";
let tag = "Iptc.Application2.Keywords";
let meta = rexiv2::Metadata::new_from_path(&file)?;
println!("{:?}", meta.get_tag_multiple_strings(tag));

Structs

Container for the three GPS coordinates: longitude, latitude, and altitude.
An opaque structure that serves as a container for a media file’s metadata.
An opaque structure that serves as a container for a preview image.

Enums

Log levels.
The media types that an image might have.
All the possible orientations for an image.
A wrapper type for the kinds of errors one might encounter when using the library.
The possible data types that a tag can have.

Functions

Get the GExiv2 log level.
Get the long-form description of a tag.
Get a short label for a tag.
Determine the type of the given tag.
Initialize gexiv2.
Indicates whether the given tag is from the Exif domain.
Indicates whether the given tag is part of the IPTC domain.
Indicates whether the given tag is from the XMP domain.
Add a new XMP namespace for tags to exist under.
Set the GExiv2 log level.
Forget all known XMP namespaces.
Remove an XMP namespace from the set of known ones.

Type Definitions

A specialized Result type that specifies the Err instances will be Rexiv2Errors.