[][src]Trait purrmitive::GenericImage

pub trait GenericImage: GenericImageView {
    type InnerImage: GenericImage;
    pub fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut Self::Pixel;
pub fn put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel);
pub fn blend_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel);
pub fn inner_mut(&mut self) -> &mut Self::InnerImage; pub unsafe fn unsafe_put_pixel(
        &mut self,
        x: u32,
        y: u32,
        pixel: Self::Pixel
    ) { ... }
pub fn copy_from<O>(
        &mut self,
        other: &O,
        x: u32,
        y: u32
    ) -> Result<(), ImageError>
    where
        O: GenericImageView<Pixel = Self::Pixel>
, { ... }
pub fn copy_within(&mut self, source: Rect, x: u32, y: u32) -> bool { ... }
pub fn sub_image(
        &mut self,
        x: u32,
        y: u32,
        width: u32,
        height: u32
    ) -> SubImage<&mut Self::InnerImage> { ... } }

A trait for manipulating images.

Associated Types

type InnerImage: GenericImage[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.

Loading content...

Required methods

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

Gets a reference to the mutable pixel at location (x, y)

Panics

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

pub fn put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)[src]

Put a pixel at location (x, y)

Panics

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

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

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

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

pub fn inner_mut(&mut self) -> &mut Self::InnerImage[src]

Returns a mutable reference to the underlying image.

Loading content...

Provided methods

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

Puts a pixel at location (x, y)

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

pub fn copy_from<O>(
    &mut self,
    other: &O,
    x: u32,
    y: u32
) -> Result<(), ImageError> where
    O: GenericImageView<Pixel = Self::Pixel>, 
[src]

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 GenericImageView::view.

You can use FlatSamples to source pixels from an arbitrary regular raster of channel values, for example from a foreign interface or a fixed image.

Returns

Returns an error if the image is too large to be copied at the given position

pub fn copy_within(&mut self, source: Rect, x: u32, y: u32) -> bool[src]

Copies all of the pixels from one part of this image to another part of this image.

The destination rectangle of the copy is specified with the top-left corner placed at (x, y).

Returns

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

pub fn sub_image(
    &mut self,
    x: u32,
    y: u32,
    width: u32,
    height: u32
) -> SubImage<&mut Self::InnerImage>
[src]

Returns a mutable subimage that is a view into this image. If you want an immutable subimage instead, use GenericImageView::view

Loading content...

Implementors

impl GenericImage for DynamicImage[src]

type InnerImage = DynamicImage

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

DEPRECATED: Use iterator pixels_mut to blend the pixels directly.

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

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

impl<Buffer, P> GenericImage for ViewMut<Buffer, P> where
    P: Pixel,
    Buffer: AsMut<[<P as Pixel>::Subpixel]> + AsRef<[<P as Pixel>::Subpixel]>, 
[src]

type InnerImage = ViewMut<Buffer, P>

impl<I> GenericImage for SubImage<I> where
    I: DerefMut,
    <I as Deref>::Target: GenericImage,
    <I as Deref>::Target: Sized
[src]

type InnerImage = <I as Deref>::Target

pub fn blend_pixel(
    &mut self,
    x: u32,
    y: u32,
    pixel: <SubImage<I> as GenericImageView>::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 as Pixel>::Subpixel]> + DerefMut,
    <P as Pixel>::Subpixel: 'static, 
[src]

type InnerImage = ImageBuffer<P, Container>

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

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

pub 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...