projects
/
litoprism.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d22c64d
)
Cycle through pixels
author
MegaBrutal
<code+git@megabrutal.com>
Fri, 15 Jul 2022 00:40:40 +0000
(
02:40
+0200)
committer
MegaBrutal
<code+git@megabrutal.com>
Fri, 15 Jul 2022 00:40:40 +0000
(
02:40
+0200)
src/main.rs
patch
|
blob
|
history
diff --git
a/src/main.rs
b/src/main.rs
index 68a40341e989cbdd76e01bd5745d0e40471ad8fc..a391e4435bc4a20333bf6dde83e4e204a0fb11ac 100644
(file)
--- 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;
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
}
}
self
}
}
@@
-134,7
+135,13
@@
fn rgb_encode_to_canvas(mut canvas: Canvas, data: &mut dyn Iterator<Item = u8>)
let mut counter = 0;
for sp in ToRgbIter::new(data) {
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;
println!("{:?}", sp);
dp.0 = sp.0;
counter += 1;