Image

Trait Image 

Source
pub trait Image {
    type Pixel;

    // Required methods
    fn width(&self) -> usize;
    fn height(&self) -> usize;
    unsafe fn pixel(&self, x: usize, y: usize) -> Self::Pixel;
}
Expand description

A Image is just a still image.

Frames are made up of a number of pixels arranged in a dense and finite 2D grid. The pixels can be any type, but are usually RGBA or YUV values. A frame is usually backed by either a (potentially foreign) buffer or by another frame, which it transforms in some way, such as by rotating or inverting the pixels.

Required Associated Types§

Source

type Pixel

The kind of pixel that the frame is made of.

Required Methods§

Source

fn width(&self) -> usize

The width of the frame in pixels.

Source

fn height(&self) -> usize

The height of the frame in pixels.

Source

unsafe fn pixel(&self, x: usize, y: usize) -> Self::Pixel

Gets the pixel at the specified zero-indexed coordinates.

§Undefined Behavior

The caller must ensure that 0 <= x < width and that 0 <= y < height. If these invariants are not upheld, the callee is allowed to do whatever it wants to, including eat your laundry, panic, or return a result that makes no sense whatsoever.

Implementors§

Source§

impl<T, F> Image for Function<T, F>
where F: Fn(usize, usize) -> T,

Source§

type Pixel = T

Source§

impl<T, U> Image for U
where U: Deref<Target = T> + ?Sized, T: Image + ?Sized,

Source§

type Pixel = <T as Image>::Pixel

Source§

impl<T, V> Image for Chunky<T, V>
where T: AsBytes, V: AsRef<[u8]>,

Source§

type Pixel = T