pub struct SubImage<I> { /* private fields */ }
Expand description
A View into another image
Instances of this struct can be created using:
GenericImage::sub_image
to create a mutable view,GenericImageView::view
to create an immutable view,SubImage::new
to instantiate the struct directly.
Implementations§
source§impl<I> SubImage<I>
impl<I> SubImage<I>
sourcepub fn new(image: I, x: u32, y: u32, width: u32, height: u32) -> SubImage<I>
pub fn new(image: I, x: u32, y: u32, width: u32, height: u32) -> SubImage<I>
Construct a new subimage The coordinates set the position of the top left corner of the SubImage.
sourcepub fn change_bounds(&mut self, x: u32, y: u32, width: u32, height: u32)
pub fn change_bounds(&mut self, x: u32, y: u32, width: u32, height: u32)
Change the coordinates of this subimage.
sourcepub fn to_image(
&self,
) -> ImageBuffer<<<I as Deref>::Target as GenericImageView>::Pixel, Vec<<<<I as Deref>::Target as GenericImageView>::Pixel as Pixel>::Subpixel>>
pub fn to_image( &self, ) -> ImageBuffer<<<I as Deref>::Target as GenericImageView>::Pixel, Vec<<<<I as Deref>::Target as GenericImageView>::Pixel as Pixel>::Subpixel>>
Convert this subimage to an ImageBuffer
Trait Implementations§
source§impl<I> GenericImage for SubImage<I>
impl<I> GenericImage for SubImage<I>
source§fn blend_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)
fn blend_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)
DEPRECATED: This method will be removed. Blend the pixel directly instead.
§type InnerImage = <I as Deref>::Target
type InnerImage = <I as Deref>::Target
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.
source§fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut Self::Pixel
fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut Self::Pixel
Gets a reference to the mutable pixel at location
(x, y)
. Indexed from top left. Read moresource§fn put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)
fn put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)
Put a pixel at location (x, y). Indexed from top left. Read more
source§fn sub_image(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
) -> SubImage<&mut Self::InnerImage>
fn sub_image( &mut self, x: u32, y: u32, width: u32, height: u32, ) -> SubImage<&mut Self::InnerImage>
Returns a mutable subimage that is a view into this image.
If you want an immutable subimage instead, use
GenericImageView::view
The coordinates set the position of the top left corner of the SubImage.source§fn inner_mut(&mut self) -> &mut Self::InnerImage
fn inner_mut(&mut self) -> &mut Self::InnerImage
Returns a mutable reference to the underlying image.
source§unsafe fn unsafe_put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)
unsafe fn unsafe_put_pixel(&mut self, x: u32, y: u32, pixel: Self::Pixel)
Puts a pixel at location (x, y). Indexed from top left. Read more
source§impl<I> GenericImageView for SubImage<I>
impl<I> GenericImageView for SubImage<I>
§type InnerImageView = <I as Deref>::Target
type InnerImageView = <I as Deref>::Target
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.
source§fn dimensions(&self) -> (u32, u32)
fn dimensions(&self) -> (u32, u32)
The width and height of this image.
source§fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel
fn get_pixel(&self, x: u32, y: u32) -> Self::Pixel
Returns the pixel located at (x, y). Indexed from top left. Read more
source§fn view(
&self,
x: u32,
y: u32,
width: u32,
height: u32,
) -> SubImage<&Self::InnerImageView>
fn view( &self, x: u32, y: u32, width: u32, height: u32, ) -> SubImage<&Self::InnerImageView>
Returns an 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.source§fn inner(&self) -> &Self::InnerImageView
fn inner(&self) -> &Self::InnerImageView
Returns a reference to the underlying image.
source§fn in_bounds(&self, x: u32, y: u32) -> bool
fn in_bounds(&self, x: u32, y: u32) -> bool
Returns true if this x, y coordinate is contained inside the image.
Auto Trait Implementations§
impl<I> Freeze for SubImage<I>where
I: Freeze,
impl<I> RefUnwindSafe for SubImage<I>where
I: RefUnwindSafe,
impl<I> Send for SubImage<I>where
I: Send,
impl<I> Sync for SubImage<I>where
I: Sync,
impl<I> Unpin for SubImage<I>where
I: Unpin,
impl<I> UnwindSafe for SubImage<I>where
I: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more