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§
Required Methods§
Sourceunsafe fn pixel(&self, x: usize, y: usize) -> Self::Pixel
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.