Skip to main content

AdvancedWriteOperations

Trait AdvancedWriteOperations 

Source
pub trait AdvancedWriteOperations {
    // Required methods
    fn shift_datetime<P: AsRef<Path>>(
        &self,
        path: P,
        offset: DateTimeOffset,
    ) -> Result<()>;
    fn shift_specific_datetime<P: AsRef<Path>>(
        &self,
        path: P,
        tag: TagId,
        offset: DateTimeOffset,
    ) -> Result<()>;
    fn numeric_operation<P: AsRef<Path>>(
        &self,
        path: P,
        tag: TagId,
        operation: NumericOperation,
    ) -> Result<()>;
    fn append_string<P: AsRef<Path>>(
        &self,
        path: P,
        tag: TagId,
        suffix: &str,
    ) -> Result<()>;
    fn write_if<P: AsRef<Path>, F>(
        &self,
        path: P,
        condition: &str,
        builder_fn: F,
    ) -> Result<()>
       where F: FnOnce(WriteBuilder<'_>) -> WriteBuilder<'_>;
}
Expand description

高级写入操作 trait

Required Methods§

Source

fn shift_datetime<P: AsRef<Path>>( &self, path: P, offset: DateTimeOffset, ) -> Result<()>

偏移日期时间标签

§示例
use exiftool_rs_wrapper::ExifTool;
use exiftool_rs_wrapper::advanced::AdvancedWriteOperations;
use exiftool_rs_wrapper::advanced::DateTimeOffset;

let exiftool = ExifTool::new()?;

// 将所有日期时间增加 1 天 2 小时
exiftool.shift_datetime("photo.jpg", DateTimeOffset::new().days(1).hours(2))?;
Source

fn shift_specific_datetime<P: AsRef<Path>>( &self, path: P, tag: TagId, offset: DateTimeOffset, ) -> Result<()>

仅偏移特定日期时间标签

Source

fn numeric_operation<P: AsRef<Path>>( &self, path: P, tag: TagId, operation: NumericOperation, ) -> Result<()>

数值运算

Source

fn append_string<P: AsRef<Path>>( &self, path: P, tag: TagId, suffix: &str, ) -> Result<()>

字符串追加

Source

fn write_if<P: AsRef<Path>, F>( &self, path: P, condition: &str, builder_fn: F, ) -> Result<()>
where F: FnOnce(WriteBuilder<'_>) -> WriteBuilder<'_>,

条件写入

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§