[−][src]Trait nannou::image::GenericImageView
Trait to inspect an image.
Associated Types
type Pixel: Pixel
The type of pixel.
type InnerImageView: GenericImageView
Underlying image type. This is mainly used by SubImages in order to always have a reference to the original image. This allows for less indirections and it eases the use of nested SubImages.
Required methods
fn dimensions(&self) -> (u32, u32)
The width and height of this image.
fn bounds(&self) -> (u32, u32, u32, u32)
The bounding rectangle of this image.
fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel
Returns the pixel located at (x, y)
Panics
Panics if (x, y)
is out of bounds.
TODO: change this signature to &P
fn inner(&self) -> &Self::InnerImageView
Returns a reference to the underlying image.
Provided methods
fn width(&self) -> u32
The width of this image.
fn height(&self) -> u32
The height of this image.
fn in_bounds(&self, x: u32, y: u32) -> bool
Returns true if this x, y coordinate is contained inside the image.
unsafe fn unsafe_get_pixel(&self, x: u32, y: u32) -> Self::Pixel
Returns the pixel located at (x, y)
This function can be implemented in a way that ignores bounds checking.
Safety
The coordinates must be in_bounds
of the image.
fn pixels(&self) -> Pixels<'_, Self>ⓘ
Returns an Iterator over the pixels of this image. The iterator yields the coordinates of each pixel along with their value
fn view(
&self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<&Self::InnerImageView>
&self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<&Self::InnerImageView>
Returns an subimage that is an immutable view into this image.
You can use GenericImage::sub_image
if you need a mutable view instead.
Implementors
impl GenericImageView for DynamicImage
[src]
type Pixel = Rgba<u8>
type InnerImageView = DynamicImage
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn get_pixel(&self, x: u32, y: u32) -> Rgba<u8>
[src]
fn inner(&self) -> &<DynamicImage as GenericImageView>::InnerImageView
[src]
impl<Buffer, P> GenericImageView for View<Buffer, P> where
Buffer: AsRef<[<P as Pixel>::Subpixel]>,
P: Pixel,
[src]
Buffer: AsRef<[<P as Pixel>::Subpixel]>,
P: Pixel,
type Pixel = P
type InnerImageView = View<Buffer, P>
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn in_bounds(&self, x: u32, y: u32) -> bool
[src]
fn get_pixel(
&self,
x: u32,
y: u32
) -> <View<Buffer, P> as GenericImageView>::Pixel
[src]
&self,
x: u32,
y: u32
) -> <View<Buffer, P> as GenericImageView>::Pixel
fn inner(&self) -> &View<Buffer, P>
[src]
impl<Buffer, P> GenericImageView for ViewMut<Buffer, P> where
Buffer: AsMut<[<P as Pixel>::Subpixel]> + AsRef<[<P as Pixel>::Subpixel]>,
P: Pixel,
[src]
Buffer: AsMut<[<P as Pixel>::Subpixel]> + AsRef<[<P as Pixel>::Subpixel]>,
P: Pixel,
type Pixel = P
type InnerImageView = ViewMut<Buffer, P>
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn in_bounds(&self, x: u32, y: u32) -> bool
[src]
fn get_pixel(
&self,
x: u32,
y: u32
) -> <ViewMut<Buffer, P> as GenericImageView>::Pixel
[src]
&self,
x: u32,
y: u32
) -> <ViewMut<Buffer, P> as GenericImageView>::Pixel
fn inner(&self) -> &ViewMut<Buffer, P>
[src]
impl<I> GenericImageView for SubImage<I> where
I: Deref,
<I as Deref>::Target: GenericImageView,
<I as Deref>::Target: Sized,
[src]
I: Deref,
<I as Deref>::Target: GenericImageView,
<I as Deref>::Target: Sized,
type Pixel = <<I as Deref>::Target as GenericImageView>::Pixel
type InnerImageView = <I as Deref>::Target
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn get_pixel(&self, x: u32, y: u32) -> <SubImage<I> as GenericImageView>::Pixel
[src]
fn view(
&self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<&<SubImage<I> as GenericImageView>::InnerImageView>
[src]
&self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<&<SubImage<I> as GenericImageView>::InnerImageView>
fn inner(&self) -> &<SubImage<I> as GenericImageView>::InnerImageView
[src]
impl<P, Container> GenericImageView for ImageBuffer<P, Container> where
Container: Deref<Target = [<P as Pixel>::Subpixel]> + Deref,
P: Pixel + 'static,
<P as Pixel>::Subpixel: 'static,
[src]
Container: Deref<Target = [<P as Pixel>::Subpixel]> + Deref,
P: Pixel + 'static,
<P as Pixel>::Subpixel: 'static,
type Pixel = P
type InnerImageView = ImageBuffer<P, Container>
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn get_pixel(&self, x: u32, y: u32) -> P
[src]
unsafe fn unsafe_get_pixel(&self, x: u32, y: u32) -> P
[src]
Returns the pixel located at (x, y), ignoring bounds checking.
fn inner(
&self
) -> &<ImageBuffer<P, Container> as GenericImageView>::InnerImageView
[src]
&self
) -> &<ImageBuffer<P, Container> as GenericImageView>::InnerImageView