https://github.com/perinim/pixel8bit
Convert images into 8-bit pixel arts๐พ
https://github.com/perinim/pixel8bit
8bit game-development image-processing retro
Last synced: 4 months ago
JSON representation
Convert images into 8-bit pixel arts๐พ
- Host: GitHub
- URL: https://github.com/perinim/pixel8bit
- Owner: PeriniM
- License: mit
- Created: 2024-11-28T15:54:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-29T22:22:36.000Z (over 1 year ago)
- Last Synced: 2025-09-20T00:39:46.002Z (9 months ago)
- Topics: 8bit, game-development, image-processing, retro
- Language: Rust
- Homepage:
- Size: 55.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐พ pixel8bit
[](https://crates.io/crates/pixel8bit)
[](https://opensource.org/licenses/MIT)
[](https://github.com/PeriniM/pixel8bit/actions)
[](https://crates.io/crates/pixel8bit)
**pixel8bit** is a Rust library and command-line tool that applies 8-bit pixelation effects to images, with optional symmetry detection and mirroring.
## โจ Features
- 8-bit Pixelation: Transform images to emulate classic 8-bit graphics.
- Symmetry Detection: Automatically detect horizontal and vertical symmetry axes.
- Mirroring: Mirror images around detected symmetry axes for artistic effects.
## ๐ฆ Installation
To install **pixel8bit**, ensure you have [Rust and Cargo](https://www.rust-lang.org/tools/install) installed. Then, run:
```
cargo install pixel8bit
```
## ๐ Usage
After installation, you can use the pixel8bit command-line tool as follows:
```
pixel8bit
```
- : Path to the input image file.
- : Path to save the processed image.
- : Size of the pixel blocks (e.g., 16).
- : true or false to enable or disable mirroring.
Example:
To pixelate an image with a block size of 16 pixels and enable mirroring:
```
pixel8bit input.jpg output.jpg 16 true
```
## ๐ ๏ธ Library Integration
To use **pixel8bit** as a library in your Rust project, add the following to your Cargo.toml:
[dependencies]
pixel8bit = "0.1.0"
Then, in your code:
```rust
use pixel8bit::pixelate::apply_pixelation;
use pixel8bit::symmetry::{detect_symmetry, mirror_image};
```
## ๐ผ๏ธ Pixelation Examples
| Block Size | Result |
|------------|---------|
| Original |  |
| 8x8 |  |
| 16x16 |  |
| 32x32 |  |
| 64x64 |  |
## ๐ค Contributing
Contributions are welcome! Please fork the repository and submit a pull request.
## ๐ License
This project is licensed under the MIT License.