Trait GenericImageView

trait GenericImageView

Trait to inspect an image.

use image::{GenericImageView, Rgb, RgbImage};

let buffer = RgbImage::new(10, 10);
let image: &dyn GenericImageView<Pixel=Rgb<u8>> = &buffer;

Associated Types

type Pixel: TraitBound { trait_: Path { path: "Pixel", id: Id(450), args: None }, generic_params: [], modifier: None }

The type of pixel.

Required Methods

fn dimensions(self: &Self) -> (u32, u32)

The width and height of this image.

fn get_pixel(self: &Self, x: u32, y: u32) -> <Self as >::Pixel

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

Panics

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

Provided Methods

fn width(self: &Self) -> u32

The width of this image.

fn height(self: &Self) -> u32

The height of this image.

fn in_bounds(self: &Self, x: u32, y: u32) -> bool

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

unsafe fn unsafe_get_pixel(self: &Self, x: u32, y: u32) -> <Self as >::Pixel

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: &Self) -> Pixels<'_, Self>
where
    Self: Sized

Returns an Iterator over the pixels of this image. The iterator yields the coordinates of each pixel along with their value

fn view(self: &Self, x: u32, y: u32, width: u32, height: u32) -> SubImage<&Self>
where
    Self: Sized

Returns a 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