[][src]Trait nannou::image::GenericImageView

pub trait GenericImageView where
    <Self::InnerImageView as GenericImageView>::Pixel == Self::Pixel
{ type Pixel: Pixel; type InnerImageView: GenericImageView; fn dimensions(&self) -> (u32, u32);
fn bounds(&self) -> (u32, u32, u32, u32);
fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel;
fn inner(&self) -> &Self::InnerImageView; fn width(&self) -> u32 { ... }
fn height(&self) -> u32 { ... }
fn in_bounds(&self, x: u32, y: u32) -> bool { ... }
unsafe fn unsafe_get_pixel(&self, x: u32, y: u32) -> Self::Pixel { ... }
fn pixels(&self) -> Pixels<'_, Self>

Notable traits for Pixels<'a, I>

impl<'a, I> Iterator for Pixels<'a, I> where
    I: GenericImageView
type Item = (u32, u32, <I as GenericImageView>::Pixel);
{ ... }
fn view(
        &self,
        x: u32,
        y: u32,
        width: u32,
        height: u32
    ) -> SubImage<&Self::InnerImageView> { ... } }

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.

Loading content...

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.

Loading content...

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>

Notable traits for Pixels<'a, I>

impl<'a, I> Iterator for Pixels<'a, I> where
    I: GenericImageView
type Item = (u32, u32, <I as GenericImageView>::Pixel);

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>

Returns an subimage that is an immutable view into this image. You can use GenericImage::sub_image if you need a mutable view instead.

Loading content...

Implementors

impl GenericImageView for DynamicImage[src]

impl<Buffer, P> GenericImageView for View<Buffer, P> where
    Buffer: AsRef<[<P as Pixel>::Subpixel]>,
    P: Pixel
[src]

type Pixel = P

type InnerImageView = View<Buffer, P>

impl<Buffer, P> GenericImageView for ViewMut<Buffer, P> where
    Buffer: AsMut<[<P as Pixel>::Subpixel]> + AsRef<[<P as Pixel>::Subpixel]>,
    P: Pixel
[src]

type Pixel = P

type InnerImageView = ViewMut<Buffer, P>

impl<I> GenericImageView for SubImage<I> where
    I: Deref,
    <I as Deref>::Target: GenericImageView,
    <I as Deref>::Target: Sized
[src]

type Pixel = <<I as Deref>::Target as GenericImageView>::Pixel

type InnerImageView = <I as Deref>::Target

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]

type Pixel = P

type InnerImageView = ImageBuffer<P, Container>

unsafe fn unsafe_get_pixel(&self, x: u32, y: u32) -> P[src]

Returns the pixel located at (x, y), ignoring bounds checking.

Loading content...