Newer
Older
# Crunch
Command line image manipulation, set up a pipeline once and run it against all of your assets
## 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.
```shell
USAGE:
crunch [OPTIONS] <IN_PATH> <OUT_PATH> <SUBCOMMAND>
ARGS:
<IN_PATH> The path to the spritesheet file
<OUT_PATH> The path to the output file
OPTIONS:
-f, --format <FORMAT> Force Crunch to read the input file as a specific format [possible
values: png, jpg, gif, ico, tga, tiff, bmp]
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
extrude Take each tile in an image and expand its borders by a given amount
flip Flip an image along one or both axis
help Print this message or the help of the given subcommand(s)
palette Create a palette file containing every distinct colour from the input image
pipeline Execute a pipeline file to run multiple commands on one or more images
remap Convert the colour space of an input image to the given palette
rotate Apply a clockwise rotation to the image
scale Make an image larger or smaller
## Downloads
- [Latest Release](https://lab.lcr.gr/microhacks/crunch/-/jobs/artifacts/trunk/raw/target/release/crunch?job=build-linux)
## 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`