Crates.io | bwdraw |
lib.rs | bwdraw |
version | 0.1.2 |
source | src |
created_at | 2024-01-02 22:21:53.222536 |
updated_at | 2024-01-06 08:00:07.401296 |
description | Terminal drawing library whithout y-axis stretching |
homepage | |
repository | https://github.com/TheNickOfMax/bwdraw |
max_upload_size | |
id | 1086721 |
size | 15,882 |
bwdraw
is a Rust library designed for simple black and white 2D drawing in the terminal. It uses half-filled characters as pixels, allowing for a square-shaped representation without stretching the y-axis. The library provides a convenient way to draw with half-filled ASCII characters by representing the canvas as a grid of booleans and converting them into characters accordingly.
The library uses the concept of DuoPixel
, where each pixel has upper and lower states. These states are converted into character representations using the [Into<char>
] trait. The available characters for representation are:
FULL_C
: Full-filled character ('█')UPPER_C
: Upper half-filled character ('▀')LOWER_C
: Lower half-filled character ('▄')EMPTY_C
: Empty character (' ') // Draw a 10x10 square
let height: usize = 10;
let width: usize = 10;
let mut square = Canvas::new(width, height);
for i in 0..height {
for j in 0..width {
if i == 0 || i == height - 1 || j == 0 || j == width - 1 {
square.set(j, i, true)
}
}
}
println!("{}", square.to_string());
The library also provides a clear
function, which clears the console screen using ANSI escape codes.