1use pixtra::canvas::Canvas;
2use pixtra::pixels::Pixel;
3use pixtra::utility::error;
4use std::path::Path;
5
6fn draw_filter(_: &Canvas, x: u32, y: u32) -> Pixel {
7 let pixel = Pixel::new(x as u8, y as u8, 0, 255);
8 pixel
9}
10
11fn main() {
12 let canvas = Canvas::new(100, 200);
13 let canvas = canvas.filter(draw_filter);
14 canvas.save(Path::new("rotation-before-1.png")).unwrap();
15 let canvas_old = canvas.clone();
16 let canvas = canvas.rotate90();
17 canvas.save(Path::new("rotation-after-1.png")).unwrap();
18 let canvas = canvas.rotate90();
19 let canvas = canvas.rotate90();
20 let canvas = canvas.rotate90();
21 let rotate_error = error(&canvas_old, &canvas);
22 println!("ERROR: {}", rotate_error);
23
24 let canvas = Canvas::new(200, 100);
25 let canvas = canvas.filter(draw_filter);
26 canvas.save(Path::new("rotation-before-2.png")).unwrap();
27 let canvas = canvas.rotate90();
28 canvas.save(Path::new("rotation-after-2.png")).unwrap();
29}