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§
Sourcefn shift_datetime<P: AsRef<Path>>(
&self,
path: P,
offset: DateTimeOffset,
) -> Result<()>
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))?;Sourcefn shift_specific_datetime<P: AsRef<Path>>(
&self,
path: P,
tag: TagId,
offset: DateTimeOffset,
) -> Result<()>
fn shift_specific_datetime<P: AsRef<Path>>( &self, path: P, tag: TagId, offset: DateTimeOffset, ) -> Result<()>
仅偏移特定日期时间标签
Sourcefn numeric_operation<P: AsRef<Path>>(
&self,
path: P,
tag: TagId,
operation: NumericOperation,
) -> Result<()>
fn numeric_operation<P: AsRef<Path>>( &self, path: P, tag: TagId, operation: NumericOperation, ) -> Result<()>
数值运算
Sourcefn append_string<P: AsRef<Path>>(
&self,
path: P,
tag: TagId,
suffix: &str,
) -> Result<()>
fn append_string<P: AsRef<Path>>( &self, path: P, tag: TagId, suffix: &str, ) -> Result<()>
字符串追加
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.