fastexif
Exif metadata reader with convenience wrappers for GPS/time tags.
Examples
Read GPS location
let data = ...;
let options = Default::default();
let tiff = fastexif::parse(&data)?.into_entry_map(options)?;
if let Some(gps) = tiff.get_gps_info() {
let location = (gps.longitude(), gps.latitude(), gps.altitude());
println!("GPS location: {location:?}");
}
Convert Exif tags to JSON
let data = ...;
let options = Default::default();
let tiff = fastexif::parse(&data)?.into_entry_map(options)?;
println!("{}", serde_json::to_string_pretty(&tiff)?);
Read Apple-specific tags (experimental)
use fastexif::exif::MakerNote;
let data = ...;
let options = Default::default();
let tiff = fastexif::parse(&data)?.into_entry_map(options)?;
if let Some(exif) = tiff.get_exif() {
if let Some(MakerNote::Apple(apple)) = exif.get_maker_note() {
// `Front` or `Back`.
println!("Camera type: {:?}", apple.get_camera_type());
}
}