pub struct Exif {Show 45 fields
pub orientation: Option<u16>,
pub copyright: Option<String>,
pub artist: Option<String>,
pub lens_spec: Option<[Rational; 4]>,
pub exposure_time: Option<Rational>,
pub fnumber: Option<Rational>,
pub aperture_value: Option<Rational>,
pub brightness_value: Option<SRational>,
pub iso_speed_ratings: Option<u16>,
pub iso_speed: Option<u32>,
pub recommended_exposure_index: Option<u32>,
pub sensitivity_type: Option<u16>,
pub exposure_bias: Option<SRational>,
pub date_time_original: Option<String>,
pub create_date: Option<String>,
pub modify_date: Option<String>,
pub exposure_program: Option<u16>,
pub timezone_offset: Option<Vec<i16>>,
pub offset_time: Option<String>,
pub offset_time_original: Option<String>,
pub offset_time_digitized: Option<String>,
pub sub_sec_time: Option<String>,
pub sub_sec_time_original: Option<String>,
pub sub_sec_time_digitized: Option<String>,
pub shutter_speed_value: Option<SRational>,
pub max_aperture_value: Option<Rational>,
pub subject_distance: Option<Rational>,
pub metering_mode: Option<u16>,
pub light_source: Option<u16>,
pub flash: Option<u16>,
pub focal_length: Option<Rational>,
pub image_number: Option<u32>,
pub color_space: Option<u16>,
pub flash_energy: Option<Rational>,
pub exposure_mode: Option<u16>,
pub white_balance: Option<u16>,
pub scene_capture_type: Option<u16>,
pub subject_distance_range: Option<u16>,
pub owner_name: Option<String>,
pub serial_number: Option<String>,
pub lens_serial_number: Option<String>,
pub lens_make: Option<String>,
pub lens_model: Option<String>,
pub gps: Option<ExifGPS>,
pub user_comment: Option<String>,
}Expand description
This struct contains the EXIF information. If a property accepts diffent data types, the type with the best accuracy is choosen.
Fields§
§orientation: Option<u16>§copyright: Option<String>§artist: Option<String>§lens_spec: Option<[Rational; 4]>§exposure_time: Option<Rational>§fnumber: Option<Rational>§aperture_value: Option<Rational>§brightness_value: Option<SRational>§iso_speed_ratings: Option<u16>§iso_speed: Option<u32>§recommended_exposure_index: Option<u32>§sensitivity_type: Option<u16>§exposure_bias: Option<SRational>§date_time_original: Option<String>§create_date: Option<String>§modify_date: Option<String>§exposure_program: Option<u16>§timezone_offset: Option<Vec<i16>>§offset_time: Option<String>§offset_time_original: Option<String>§offset_time_digitized: Option<String>§sub_sec_time: Option<String>§sub_sec_time_original: Option<String>§sub_sec_time_digitized: Option<String>§shutter_speed_value: Option<SRational>§max_aperture_value: Option<Rational>§subject_distance: Option<Rational>§metering_mode: Option<u16>§light_source: Option<u16>§flash: Option<u16>§focal_length: Option<Rational>§image_number: Option<u32>§color_space: Option<u16>§flash_energy: Option<Rational>§exposure_mode: Option<u16>§white_balance: Option<u16>§scene_capture_type: Option<u16>§subject_distance_range: Option<u16>§owner_name: Option<String>§serial_number: Option<String>§lens_serial_number: Option<String>§lens_make: Option<String>§lens_model: Option<String>§gps: Option<ExifGPS>§user_comment: Option<String>Implementations§
Source§impl Exif
impl Exif
Sourcepub fn new(root_or_exif: &IFD) -> Result<Self>
pub fn new(root_or_exif: &IFD) -> Result<Self>
Read EXIF data. As some EXIF tags located in the root IFD, we accept both IFDs here.
Sourcepub fn extend_from_ifd(&mut self, ifd: &IFD) -> Result<()>
pub fn extend_from_ifd(&mut self, ifd: &IFD) -> Result<()>
Extend the EXIF info from this IFD. If the IFD contains a ExifIFD, extend from this IFD, too.
Sourcepub fn extend_from_gps_ifd(&mut self, ifd: &IFD) -> Result<()>
pub fn extend_from_gps_ifd(&mut self, ifd: &IFD) -> Result<()>
Extend the EXIF info from this IFD. If the IFD contains a ExifIFD, extend from this IFD, too.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Exif
impl<'de> Deserialize<'de> for Exif
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for Exif
impl Ord for Exif
Source§impl PartialOrd for Exif
impl PartialOrd for Exif
impl Eq for Exif
impl StructuralPartialEq for Exif
Auto Trait Implementations§
impl Freeze for Exif
impl RefUnwindSafe for Exif
impl Send for Exif
impl Sync for Exif
impl Unpin for Exif
impl UnsafeUnpin for Exif
impl UnwindSafe for Exif
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T, Ctx> BundleDefault<Ctx> for Twhere
T: Default,
impl<T, Ctx> BundleDefault<Ctx> for Twhere
T: Default,
Source§fn default_with_context(_: Ctx) -> T
fn default_with_context(_: Ctx) -> T
Creates a default value with the given context.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more