1 unstable release
0.1.0 | May 1, 2023 |
---|
#821 in Images
47KB
874 lines
Sheety
Sheety is a sprite-sheet manipulation program written in Rust.
Usage
There are 4 commands in sheety.
- cat: allows concatenating, merging several sprite sheets together
- slc: allows slicing a sprite sheet to extract juste one or more consecutive images from it
- del: allows removing one or more consecutive images from a sprite sheet
- rev: allows reversing the order of images of a sprite sheet
The cat
command
sheety cat -S 128x96 -i image1.png -i image2.png -i image3.png
This will concatenate image1.png, image2.png and image3.png, considering a sprite size of 128 by 96 pixels. If you wish define the sprite size individually per image, do this instead:
sheety cat -i image1.png -s 128x96 -i image2.png -s 128x96 ...
You can also define the number of cells in the sheet, using a -
:
sheety cat -i image.png -s 3-4
Or, you can include single images with single
sheety cat -i single_image.png -s single
You can define a custom distribution of sprites with the -d
option. -d "columns <num>"
and -d "lines <num>"
will set the amount of columns, and lines, to <num>
, respectively. -d "packed columns/lines"
packs the sprites together, favoritising column/line length, respectively. The default, if not specified, is -d "packed columns"
.
The slc
and del
commands
sheety slc 4-8 -i image.png -s 4-6 -d "packed lines"
This will only keep images 4 through 8 (8 excluded) of image.png, distributing the result with "packed lines"
.
sheety del 4-8 -i image.png -s 4-6 -d "packed lines"
This will do the same, but delete images 4 through 8 instead of keeping only them.
sheety del 7- -i image.png -s 4-6
If no end point is specified, images up to the end will be affected.
The rev
command
sheety rev -i image.png -s 100x100
This will reverse the order of sprites in image.png.
Todo:
- API
- reordering of sprites
- sprite-sheet concatenation
- sprite import
- sprite-sheet import
- individual sprites export
- sprite-sheet export
- documentation
- CLI
- publish on crates.io
- GUI (maybe)
Dependencies
~7MB
~96K SLoC