Add image adjustments pipeline (brightness, contrast, crop, effects)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
pub mod adjustments;
|
||||
pub mod metadata;
|
||||
pub mod rename;
|
||||
pub mod resize;
|
||||
@@ -195,6 +196,35 @@ pub enum WatermarkConfig {
|
||||
},
|
||||
}
|
||||
|
||||
// --- Adjustments ---
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct AdjustmentsConfig {
|
||||
pub brightness: i32,
|
||||
pub contrast: i32,
|
||||
pub saturation: i32,
|
||||
pub sharpen: bool,
|
||||
pub grayscale: bool,
|
||||
pub sepia: bool,
|
||||
pub crop_aspect_ratio: Option<(f64, f64)>,
|
||||
pub trim_whitespace: bool,
|
||||
pub canvas_padding: u32,
|
||||
}
|
||||
|
||||
impl AdjustmentsConfig {
|
||||
pub fn is_noop(&self) -> bool {
|
||||
self.brightness == 0
|
||||
&& self.contrast == 0
|
||||
&& self.saturation == 0
|
||||
&& !self.sharpen
|
||||
&& !self.grayscale
|
||||
&& !self.sepia
|
||||
&& self.crop_aspect_ratio.is_none()
|
||||
&& !self.trim_whitespace
|
||||
&& self.canvas_padding == 0
|
||||
}
|
||||
}
|
||||
|
||||
// --- Rename ---
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
|
||||
Reference in New Issue
Block a user