[][src]Trait image::GenericImage

pub trait GenericImage: Sized {
    type Pixel: Pixel;
    fn dimensions(&self) -> (u32, u32);
fn bounds(&self) -> (u32, u32, u32, u32);
fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel;
fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut Self::Pixel;
fn put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel);
fn blend_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel); 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 { ... }
unsafe fn unsafe_put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel) { ... }
fn pixels(&self) -> Pixels<Self> { ... }
fn pixels_mut(&mut self) -> MutPixels<Self> { ... }
fn copy_from<O>(&mut self, other: &O, x: u32, y: u32) -> bool
    where
        O: GenericImage<Pixel = Self::Pixel>
, { ... }
fn sub_image(
        &mut self,
        x: u32,
        y: u32,
        width: u32,
        height: u32
    ) -> SubImage<Self>
    where
        Self: 'static,
        <Self::Pixel as Pixel>::Subpixel: 'static,
        Self::Pixel: 'static
, { ... } }

A trait for manipulating images.

Associated Types

type Pixel: Pixel

The type of pixel.

Loading content...

Required methods

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

The width and height of this image.

fn bounds(&self) -> (u32, u32, u32, u32)

The bounding rectangle of this image.

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

Returns the pixel located at (x, y)

Panics

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

TODO: change this signature to &P

fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut Self::Pixel

Puts a pixel at location (x, y)

Panics

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

fn put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)

Put a pixel at location (x, y)

Panics

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

fn blend_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)

Put a pixel at location (x, y), taking into account alpha channels

DEPRECATED: This method will be removed. Blend the pixel directly instead.

Loading content...

Provided methods

fn width(&self) -> u32

The width of this image.

fn height(&self) -> u32

The height of this image.

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

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

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

Returns the pixel located at (x, y)

This function can be implemented in a way that ignores bounds checking.

unsafe fn unsafe_put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)

Puts a pixel at location (x, y)

This function can be implemented in a way that ignores bounds checking.

Important traits for Pixels<'a, I>
fn pixels(&self) -> Pixels<Self>

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

Important traits for MutPixels<'a, I>
fn pixels_mut(&mut self) -> MutPixels<Self>

Returns an Iterator over mutable pixels of this image. The iterator yields the coordinates of each pixel along with a mutable reference to them.

DEPRECATED: This cannot be implemented safely in Rust. Please use the image buffer directly.

fn copy_from<O>(&mut self, other: &O, x: u32, y: u32) -> bool where
    O: GenericImage<Pixel = Self::Pixel>, 

Copies all of the pixels from another image into this image.

The other image is copied with the top-left corner of the other image placed at (x, y).

In order to copy only a piece of the other image, use sub_image.

Returns

true if the copy was successful, false if the image could not be copied due to size constraints.

fn sub_image(
    &mut self,
    x: u32,
    y: u32,
    width: u32,
    height: u32
) -> SubImage<Self> where
    Self: 'static,
    <Self::Pixel as Pixel>::Subpixel: 'static,
    Self::Pixel: 'static, 

Returns a subimage that is a view into this image.

Loading content...

Implementors

impl GenericImage for DynamicImage[src]

type Pixel = Rgba<u8>

fn blend_pixel(&mut self, x: u32, y: u32, pixel: Rgba<u8>)[src]

DEPRECATED: Use iterator pixels_mut to blend the pixels directly.

fn get_pixel_mut(&mut self, _: u32, _: u32) -> &mut Rgba<u8>[src]

DEPRECATED: Do not use is function: It is unimplemented!

impl<'a, I: GenericImage + 'static> GenericImage for SubImage<'a, I> where
    I::Pixel: 'static,
    <I::Pixel as Pixel>::Subpixel: 'static, 
[src]

type Pixel = I::Pixel

fn blend_pixel(&mut self, x: u32, y: u32, pixel: I::Pixel)[src]

DEPRECATED: This method will be removed. Blend the pixel directly instead.

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

type Pixel = P

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

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

unsafe fn unsafe_put_pixel(&mut self, x: u32, y: u32, pixel: P)[src]

Puts a pixel at location (x, y), ignoring bounds checking.

fn blend_pixel(&mut self, x: u32, y: u32, p: P)[src]

Put a pixel at location (x, y), taking into account alpha channels

DEPRECATED: This method will be removed. Blend the pixel directly instead.

Loading content...