# Crunch Command line image manipulation, set up a pipeline once and run it against all of your assets For more info, check out [the docs](https://microhacks.lcr.app/crunch) ## Usage Crunch takes an image and applies a transformation to it. But what if you want to do **two** transformations? Or transform more than one image at a time? Pipelines! The main value of Crunch is reproducible image processing, as defined by a [pipeline toml]() file. Basic CLI usage: ```shell Command line asset manipulation, set up a pipeline once and run it against all of your files Usage: crunch Commands: atlas Given a set of image files, create a single atlas image and metadata file containing all of the image data rotate Rotate an image clockwise by the given degree extrude Take each tile in an image and expand its borders by a given amount. Optionally fill with nearby pixels instead of empty space palette Create a palette file containing every distinct colour from the input image scale Resize an image by a scale factor flip Flip an image along one or more axis remap Convert the colour space of an image to that of a given palette file pipeline Execute a predefined pipeline reduce Limit the number of colours by quantity or threshold split Take a spritesheet and split into individual sprites, skipping empty space extract Extract individual, non-square sprites from a given spritesheet info Extract Information About An Image into a JSON file help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version ``` ## Downloads - [Latest Linux Version](https://lab.lcr.gr/microhacks/crunch/-/jobs/artifacts/trunk/raw/target/release/crunch?job=build-linux) - [Latest Windows Version](https://lab.lcr.gr/microhacks/crunch/-/jobs/artifacts/trunk/raw/target/x86_64-pc-windows-gnu/crunch.exe?job=build-windows) ## Build From Source You can simply download this repository and run `cargo build --release` to get a binary for your system. Using `--release` mode is required in all situations, as the time taken to run a command with the debug build is _several_ orders of magnitude higher. If you use the `.local/bin` pattern for non-sudo userspace programs, you can use the included build script to simplify things. Otherwise, follow the below instructions: **Simple Script** - Clone this repository - Run `sh source-install.sh` **Manual** - Clone this repository - Run `cargo build --release` - Optionally, `strip` the binary - Copy `target/release/crunch` to a folder located in your `$PATH`