5 releases

0.1.3 Aug 21, 2024
0.1.2 Aug 21, 2024
0.1.1 Jul 30, 2024
0.1.0 Jul 30, 2024
0.1.0-alpha Jun 27, 2024

#208 in Images

Download history 670/week @ 2024-06-27 599/week @ 2024-07-04 496/week @ 2024-07-11 490/week @ 2024-07-18 722/week @ 2024-07-25 491/week @ 2024-08-01 516/week @ 2024-08-08 575/week @ 2024-08-15 637/week @ 2024-08-22 554/week @ 2024-08-29

2,327 downloads per month
Used in gufo

MPL-2.0 OR LGPL-2.1-or-later

56KB
1.5K SLoC

gufo-exif

Gufo exif is a native Rust crate to read and edit EXIF metadata.

This crate is specifically focused on editing EXIF data while preserving the existing structure as much as possible. Every edit operation tries to only updates the raw data as much as necessary.

Usage

The high level API in Exif provides simple access to commonly used metadata.

let data = std::fs::read("tests/example.jpg").unwrap();
let jpeg = gufo_jpeg::Jpeg::new(&data);
let raw_exif = jpeg.exif_data().next().unwrap().to_vec();

eprintln!("{}", String::from_utf8_lossy(&raw_exif));

let exif = gufo_exif::Exif::new(raw_exif).unwrap();
println!("Camera Model: {}", exif.model().unwrap());

This library also exposes lower level access to the Exif data. More details can be found in the internal documentation.

Existing Crates

Crate Info Comment
exif-rs Native, read only Abandoned
exif-sys FFI bindings for libexif Abandoned
exif Save binding for exif-sys Abandoned
gexiv2 FFI bindings for gexiv2
imagemeta Native Abandoned
kamadak-exif Native, experimental writing Quasi standard
little_exif Native
peck-exif Native, read only
rexif Native
rexiv2 Save bindings for gexiv2

Relevant Standards

Dependencies

~0.6–1.2MB
~24K SLoC