From 9bc260b356ac960de4d7533cbd6afe05b316d8db Mon Sep 17 00:00:00 2001 From: MegaBrutal Date: Fri, 15 Jul 2022 02:40:40 +0200 Subject: [PATCH] Cycle through pixels --- src/main.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 68a4034..a391e44 100644 --- a/src/main.rs +++ b/src/main.rs @@ -119,6 +119,7 @@ impl Canvas { fn advance_pen(mut self, offset: usize) -> Canvas { //Canvas { pen: self.pen + offset, img: self.img } self.pen += offset; + self.pen %= self.img.width() as usize * self.img.height() as usize; self } } @@ -134,7 +135,13 @@ fn rgb_encode_to_canvas(mut canvas: Canvas, data: &mut dyn Iterator) let mut counter = 0; for sp in ToRgbIter::new(data) { - let mut dp = pixels.next().ok_or(ImageError::dimension_error())?; + let mut dp = match pixels.next() { + Some(pixel) => pixel, + None => { + pixels = canvas.img.pixels_mut().skip(0); + pixels.next().ok_or(ImageError::dimension_error())? + } + }; println!("{:?}", sp); dp.0 = sp.0; counter += 1; -- 2.34.1