A command-line image compression tool.
Mostly written for my own use (scratch your own itch and all that).
Supports PNG, JPEG, and WebP for input and output.
When transcoding PNG to PNG, extra chunks are preserved. Otherwise, metadata is not preserved.
# Basic compression
cargo run --release -- -i input.jpg -o output.jpg --quality 80
# Resize with quality optimization
cargo run --release -- -i image.jpg -o output.jpg --width 800 --height 600 --quality 75
# Scale by longest side with similarity target
cargo run --release -- -i image.jpg -o output.jpg --longer-side 1024 --min-similarity 0.95
# Target specific file size
cargo run --release -- -i image.jpg -o output.jpg --max-size 100k
# Use sharpening with similarity optimization
cargo run --release -- -i image.jpg -o output.jpg --min-similarity 0.9 --min-sharpen 0.5 --max-sharpen 2.0