3 releases (breaking)
0.2.0 | May 27, 2024 |
---|---|
0.1.0 | May 25, 2024 |
0.0.1 | May 21, 2024 |
#463 in Images
127 downloads per month
1.5MB
6K
SLoC
mabel 🍁
Declarative pixel art. Mabel lets you create tiny pixel art images by writing pixels as characters in a text file!
Here’s a little example that outputs the infamous CS Source missing texture pattern:
size: 64
palette:
c = #000000
s = #ff00dc
-- pixels
cscscscs
scscscsc
cscscscs
scscscsc
cscscscs
scscscsc
cscscscs
scscscsc
-- pixels
for an in-depth explanation checkout the Format section.
Installation
crates.io
cargo install mabel
Usage
mabel <input.eno> [-o output.png]
mabel -h
for more information.
Format
mabel uses the Eno data language, you can learn more about the Eno format here.
Name | Type | Required | Notes |
---|---|---|---|
size | u8 | No | The size of each pixel in the image. |
width | u32 | No | The amount of pixels in the x-axis. |
height | u32 | No | The amount of pixels in the y-axis. |
palette | Fieldset | No | The color palette. Keys are the characters and values are the colors. Keys must be one character long. Colors can be anything that color-art supports. |
pixels | Multiline Field | Yes | The image data. Spaces and empty lines are transparent. Characters must be defined in palette . |
To see some examples, check out the examples directory.
Aseprite
mabel can convert an aseprite file (.ase
/.aseprite
) into Eno; allowing you to edit aseprite files with mabel.
mabel aseprite <input.ase> [-o output.eno]
This feature is gated behind an aseprite
feature flag. Enabled by default.
Acknowledgements
License
Dependencies
~2.5–3.5MB
~66K SLoC