Crate pixelart

Source
Expand description

(What’s) PixelArt 👾?

Using this lib you can (for now) generate pixel images from your rust code.

§Example

use pixelart::prelude::*;

fn main() {
    let mut canvas = PixelCanvas::<5>::default();

    let pos = StrictPositions::TopRight;

    // Update color of a pixel.
    let prev_color = canvas[pos].update_color(PixelColor::BLACK);
    assert_eq!(prev_color, PixelColor::WHITE);
    assert_eq!(canvas[pos].color(), &PixelColor::BLACK);

    // Change color of all pixels in main diagonal to blue where pos.row == pos.column.
    canvas
        // Iterate over all pixels row by row
        .iter_pixels_mut()
        // Filter main diagonal only pixels.
        .filter_position(|p| p.column() == p.row())
        // Update the pixel color for each item in iterator.
        .update_colors(PixelColor::RED);

    canvas
        .default_image_builder()
        .with_scale(5)
        .save("arts/basic.png")
        .unwrap();
}

You can do many other things after you discovered them!

Modules§

image
Generates pixel images from any thing that implements PixelCanvasInterface.
pixels
Root module for anything related to Pixels: color, position, table and etc.
prelude