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>ⓘ { ... } 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.
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.
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>ⓘ
[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]
&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.
The coordinates set the position of the top left corner of the view.
Implementors
impl GenericImageView for DynamicImage
[src]
type Pixel = Rgba<u8>
type InnerImageView = Self
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) -> &Self::InnerImageView
[src]
impl<Buffer, P: Pixel> GenericImageView for View<Buffer, P> where
Buffer: AsRef<[P::Subpixel]>,
[src]
Buffer: AsRef<[P::Subpixel]>,
type Pixel = P
type InnerImageView = Self
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) -> Self::Pixel
[src]
fn inner(&self) -> &Self
[src]
impl<Buffer, P: Pixel> GenericImageView for ViewMut<Buffer, P> where
Buffer: AsMut<[P::Subpixel]> + AsRef<[P::Subpixel]>,
[src]
Buffer: AsMut<[P::Subpixel]> + AsRef<[P::Subpixel]>,
type Pixel = P
type InnerImageView = Self
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) -> Self::Pixel
[src]
fn inner(&self) -> &Self
[src]
impl<I> GenericImageView for SubImage<I> where
I: Deref,
I::Target: GenericImageView + Sized,
[src]
I: Deref,
I::Target: GenericImageView + Sized,
type Pixel = <<I as Deref>::Target as GenericImageView>::Pixel
type InnerImageView = I::Target
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel
[src]
fn view(
&self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<&Self::InnerImageView>
[src]
&self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<&Self::InnerImageView>
fn inner(&self) -> &Self::InnerImageView
[src]
impl<P, Container> GenericImageView for ImageBuffer<P, Container> where
P: Pixel + 'static,
Container: Deref<Target = [P::Subpixel]> + Deref,
P::Subpixel: 'static,
[src]
P: Pixel + 'static,
Container: Deref<Target = [P::Subpixel]> + Deref,
P::Subpixel: 'static,
type Pixel = P
type InnerImageView = Self
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.