3 releases
0.1.2 | Jan 6, 2024 |
---|---|
0.1.1 | Jan 4, 2024 |
0.1.0 | Jan 2, 2024 |
#842 in Graphics APIs
16KB
322 lines
bwdraw
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.
Pixel Representation
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 (' ')
Examples
// 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());
Drawing Functions
The library also provides a clear
function, which clears the console screen using ANSI escape codes.