diff --git a/src/image.rs b/src/image.rs index f0a82b8..d4ac604 100644 --- a/src/image.rs +++ b/src/image.rs @@ -95,6 +95,10 @@ impl Image

{ Self { extent, pixels } } + pub fn at(&self, x: usize, y: usize) -> P { + self.pixels[y * self.extent.x + x] + } + pub fn for_each(&mut self, f: F) where F: Fn(usize, usize, &mut P) + Send + Sync, @@ -117,9 +121,7 @@ impl Image

{ Q: Pixel, { let mut img = Image::with_extent(self.extent); - img.for_each(|x, y, p| { - *p = f(self.pixels[self.extent.x * y + x]); - }); + img.for_each(|x, y, p| *p = f(self.at(x, y))); img }