#anti-aliasing #2d-graphics #cpu

graphics-rs

A simple, extendable, CPU based 2D graphics library. Also supports CloudPoints and rotation!

1 unstable release

0.0.10 Apr 20, 2024
0.0.9 Apr 18, 2024

#379 in Graphics APIs

Download history 8/week @ 2024-07-21 10/week @ 2024-07-28 5/week @ 2024-09-22 15/week @ 2024-09-29

465 downloads per month

MIT license

28KB
791 lines

A simple, extendable, CPU based 2D graphics library. Also supports CloudPoints and rotation!

Draw simple shapes with the least effort needed.

const WIDTH: usize = 800;
const HEIGHT: usize = 800;

fn main() -> Result<(), String> {
    let antialiasing = false;
    let antialiasing_resolution = 1;
    let fill_color = Some(color::BLACK);
    
    let mut canvas =
        SimpleCanvas::new(
            WIDTH, 
            HEIGHT, 
            fill_color, 
            antialiasing, 
            antialiasing_resolution);

    canvas.change_color(color::BLACK);
    canvas.fill();

    canvas.change_color(color::GREEN);
    canvas.draw_shape(&mut Circle::new(WIDTH /2 , HEIGHT / 2, 100));

    canvas
        .save("canvas.ppm")
        .map_err(|error| error.to_string())?;

    Ok(())
}

Dependencies

~5–22MB
~290K SLoC