#2d-graphics #extendable #cpu #rotation #canvas #color #cloud-points

graphics-rs

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

1 unstable release

new 0.0.10 Apr 20, 2024
0.0.9 Apr 18, 2024

#159 in Graphics APIs

Download history 327/week @ 2024-04-07 518/week @ 2024-04-14

845 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

~13–28MB
~275K SLoC