#exif #metadata #tags #gps #ifd

bin+lib rexif

RExif is a native Rust crate, written to extract EXIF data from JPEG and TIFF images

11 releases

0.7.5 Dec 2, 2024
0.7.4 Jul 14, 2024
0.7.3 May 14, 2021
0.5.1 Oct 31, 2020
0.3.1 Nov 9, 2015

#92 in Images

Download history 30087/week @ 2024-08-23 19568/week @ 2024-08-30 26123/week @ 2024-09-06 28777/week @ 2024-09-13 27364/week @ 2024-09-20 28859/week @ 2024-09-27 30621/week @ 2024-10-04 18472/week @ 2024-10-11 26945/week @ 2024-10-18 31163/week @ 2024-10-25 35807/week @ 2024-11-01 27336/week @ 2024-11-08 37402/week @ 2024-11-15 50741/week @ 2024-11-22 35885/week @ 2024-11-29 50437/week @ 2024-12-06

180,811 downloads per month
Used in 4 crates

MIT license

105KB
2.5K SLoC

rexif

RExif is a native Rust crate, written to extract EXIF data from JPEG and TIFF images.

It can be used as a library, or as a command-line tool. The sample binary called 'rexiftool' accepts files as arguments and prints the EXIF data. It gives a rough idea on how to use the crate.

Requirements

  • Latest stable Rust version from rustup.

Example

match rexif::parse_file(&file_name) {
    Ok(exif) => {
        println!("{} {} exif entries: {}", file_name,
            exif.mime, exif.entries.len());

        for entry in &exif.entries {
            println!("    {}: {}",
                    entry.tag,
                    entry.value_more_readable);
        }
    },
    Err(e) => {
        eprintln!("Error in {}: {} {}", &file_name,
            Error::description(&e), e.extra).unwrap();
    }
}

The src/main.rs file is a good starting point to learn how to use the crate, then take a look into the ExifEntry struct.

No runtime deps