## Caesium CommandLineTools ##### caesium-clt - v0.12.1-beta (build 20180812) - Copyright © Matteo Paonessa, 2018. All Rights Reserved. [![Build Status](https://travis-ci.org/Lymphatus/caesium-clt.svg?branch=master)](https://travis-ci.org/Lymphatus/caesium-clt) ---------- ###### REQUIREMENTS * [libcaesium](https://github.com/Lymphatus/libcaesium) ###### Included libraries * [optparse](https://github.com/skeeto/optparse) * [tinydir](https://github.com/cxong/tinydir) ---------- ###### TESTED PLATFORMS * Mac OS X High Sierra (v10.13.6) * Ubuntu 18.04 * Windows 10 ---------- ###### COMPILATION See INSTALL.md for more details. ---------- ###### COMMAND LINE ARGUMENTS - `-q, --quality [value]` {Required} Sets the quality of the image. The higher the value is, better the result will be. Note that a value of 0 will mean _lossless_ compression, which will not modify the original image, but will compress less. Allowed range is [0. 100]. A common value for lossy compression is 80. - `-e, --exif` Keeps the JPEG metadata information during compression. File size will be slightly higher. - `-o, --output [value]` {Required} Path to the output folder where the compressed files will be stored. Can be the same input folder, which will overwrite the original files. - `-s, --scale [value]` Will scale the image to a factor of _[value]_. Allowed formats are decimal values, fractions and percentages. The factor must be a number > 0 and <= 1.0, as caesiumclt won't upscale any image. _This is an experimental feature and might not work as expected._ - `-R, --recursive` If the input is a folder, caesiumclt will also scan every subfolder searching for images. Note that this may end up building a large set of files to be compressed and should be used carefully. - `-S, --keep-structure` If the input is a folder, and the `-R` option is set, caesiumclt will compress all the files keeping the original folder structure. - `-d, --dry-run` If this option is set, no files will be compressed, but the entire process will just be simulated. Useful for checking if all the files will be correctly handled. - `-h, --help` Displays a summary of the command line arguments, much like this one you're reading. - `-v, --version` Prints the current caesiumclt version. ---------- ###### USAGE EXAMPLES Losslessly compress ```image1.jpg```, located in the ```home``` directory, into a folder called ```output``` ``` $ caesiumclt -q 0 -o ~/output/ ~/image.jpg ``` Compress ```image1.jpg```, located in the ```home``` directory, into a folder called ```output``` with lossy compression and quality set to 80 ``` $ caesiumclt -q 80 -o ~/output/ ~/image.jpg ``` Compress ```image1.jpg```, located in the ```home``` directory, into a folder called ```output``` with lossy compression, quality set to 80 and resize it to half ``` $ caesiumclt -q 80 -s 0.5 -o ~/output/ ~/image.jpg ``` Losslessly compress ```image1.jpg```, located in the ```home``` directory, into a folder called ```output``` and keeps EXIF metadata ``` $ caesiumclt -q 0 -e -o ~/output/ ~/image.jpg ``` Losslessly compress ```Pictures``` folder and subfolders, located in the ```home``` directory, into a folder called ```output``` ``` $ caesiumclt -q 0 -R -o ~/output/ ~/Pictures ``` Losslessly compress ```Pictures``` folder and subfolders, located in the ```home``` directory, into a folder called ```output``` retaining the input folder structure ``` $ caesiumclt -q 0 -RS -o ~/output/ ~/Pictures ``` ---------- ###### TODO * Code cleaning * Deeper error handling ---------- ###### CHANGELOG * 0.12.1-beta - Bugfix * 0.12.0-beta - Resizing (experimental) * 0.11.0-beta - Fixing paths issues and dry-run option * 0.10.2-beta - Bugfixes & full Windows support * 0.10.1-beta - All features are available * 0.10.0-beta - Switched to cmake build system and libcaesium * 0.9.1-beta - Initial development stage ---------- ###### RESOURCES * caesium-clt website - [http://saerasoft.com/caesium/clt](http://saerasoft.com/caesium/clt) * Caesium website - [http://saerasoft.com/caesium](http://saerasoft.com/caesium) * caesium-clt Git Repository - [https://github.com/Lymphatus/caesium-clt](https://github.com/Lymphatus/caesium-clt) * Author website - SaeraSoft - [http://saerasoft.com](http://saerasoft.com)