Trait image::GenericImageView[][src]

pub trait GenericImageView {
    type Pixel: Pixel;
    type InnerImageView: GenericImageView<Pixel = Self::Pixel>;
    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: GenericImageView> Iterator for Pixels<'a, I> type Item = (u32, u32, I::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[src]

The type of pixel.

type InnerImageView: GenericImageView<Pixel = Self::Pixel>[src]

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)[src]

The width and height of this image.

fn bounds(&self) -> (u32, u32, u32, u32)[src]

The bounding rectangle of this image.

fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel[src]

Returns the pixel located at (x, y). Indexed from top left.

Panics

Panics if (x, y) is out of bounds.

TODO: change this signature to &P

fn inner(&self) -> &Self::InnerImageView[src]

Returns a reference to the underlying image.

Loading content...

Provided methods

fn width(&self) -> u32[src]

The width of this image.

fn height(&self) -> u32[src]

The height of this image.

fn in_bounds(&self, x: u32, y: u32) -> bool[src]

Returns true if this x, y coordinate is contained inside the image.

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

Returns the pixel located at (x, y). Indexed from top left.

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: GenericImageView> Iterator for Pixels<'a, I> type Item = (u32, u32, I::Pixel);
[src]

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>
[src]

Returns an subimage that is an immutable view into this image. You can use GenericImage::sub_image if you need a mutable view instead. The coordinates set the position of the top left corner of the view.

Loading content...

Implementors

impl GenericImageView for DynamicImage[src]

type Pixel = Rgba<u8>

type InnerImageView = Self

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

type Pixel = P

type InnerImageView = Self

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

type Pixel = P

type InnerImageView = Self

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

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

type InnerImageView = I::Target

impl<P, Container> GenericImageView for ImageBuffer<P, Container> where
    P: Pixel + 'static,
    Container: Deref<Target = [P::Subpixel]> + Deref,
    P::Subpixel: 'static, 
[src]

type Pixel = P

type InnerImageView = Self

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

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

Loading content...