pub fn optimize_jpeg(
input_path: &Path,
output_path: &Path,
args: &Cli,
resized_img: Option<DynamicImage>,
) -> Result<()>Expand description
Optimizes a JPEG image using mozjpeg compression.
This function uses the mozjpeg library to achieve superior compression compared to standard libjpeg implementations. It supports both quality-based compression and lossless mode, and can work with either the original image data or a pre-resized image.
§Arguments
input_path- Path to the source JPEG fileoutput_path- Path where the optimized JPEG will be writtenargs- CLI configuration containing quality settings and lossless flagresized_img- Optional pre-resized image data; if None, reads frominput_path
§Returns
Returns Ok(()) on successful optimization.
§Errors
Returns an error if:
- JPEG decompression or compression fails
- File I/O operations fail (reading input or writing output)
- Image dimensions are too large to convert to u32
- RGB color space conversion fails