1 unstable release
0.1.0 | May 1, 2023 |
---|
#999 in Images
Used in sheety-cli
29KB
523 lines
Sheety
Sheety is a sprite-sheet manipulation program written in Rust. It has a Rust library crate for its API and a binary crate for a CLI app built on top of the API. Maybe even a GUI if I feel like it/have time for it.
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)
lib.rs
:
[sheety][crate] can be used to manipulate sprite sheets. A sprite sheet can be created using [SpriteSheet]. SpriteSheet::new creates a new empty sprite sheet, where SpriteSheet::load_div and SpriteSheet::load_cell_size are used to load a sheet from disk.
Example
This is one of this crates examples - it concatenates to existing sprite sheets into a single.
SpriteSheet::concat(
vec![
SpriteSheet::load_cell_size("sheety/tests/machete_idle.png", (256, 256))
.unwrap()
.into_unordered()
.unwrap(),
SpriteSheet::load_cell_size("sheety/tests/machete_swing01.png", (256, 256))
.unwrap()
.into_unordered()
.unwrap(),
]
.into_iter(),
Distribution::Packed(false),
)
.unwrap()
.save("sheety/tests/result_machete.png")
.unwrap();
Dependencies
~5.5MB
~78K SLoC