[−][src]Struct image::ImageBuffer
Generic image buffer
Methods
impl<P, Container> ImageBuffer<P, Container> where
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]>,
[src]
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]>,
pub fn from_raw(
width: u32,
height: u32,
buf: Container
) -> Option<ImageBuffer<P, Container>>
[src]
width: u32,
height: u32,
buf: Container
) -> Option<ImageBuffer<P, Container>>
Contructs a buffer from a generic container
(for example a Vec
or a slice)
Returns None if the container is not big enough
pub fn into_raw(self) -> Container
[src]
Returns the underlying raw buffer
pub fn dimensions(&self) -> (u32, u32)
[src]
The width and height of this image.
pub fn width(&self) -> u32
[src]
The width of this image.
pub fn height(&self) -> u32
[src]
The height of this image.
pub fn pixels(&self) -> Pixels<P>
[src]
Returns an iterator over the pixels of this image.
pub fn enumerate_pixels(&self) -> EnumeratePixels<P>
[src]
Enumerates over the pixels of the image. The iterator yields the coordinates of each pixel along with a reference to them.
pub fn get_pixel(&self, x: u32, y: u32) -> &P
[src]
Gets a reference to the pixel at location (x, y)
Panics
Panics if (x, y)
is out of the bounds (width, height)
.
impl<P, Container> ImageBuffer<P, Container> where
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
[src]
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
pub fn pixels_mut(&mut self) -> PixelsMut<P>
[src]
Returns an iterator over the mutable pixels of this image.
pub fn enumerate_pixels_mut(&mut self) -> EnumeratePixelsMut<P>
[src]
Enumerates over the pixels of the image. The iterator yields the coordinates of each pixel along with a mutable reference to them.
pub fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut P
[src]
Gets a reference to the mutable pixel at location (x, y)
Panics
Panics if (x, y)
is out of the bounds (width, height)
.
pub fn put_pixel(&mut self, x: u32, y: u32, pixel: P)
[src]
impl<P, Container> ImageBuffer<P, Container> where
P: Pixel<Subpixel = u8> + 'static,
Container: Deref<Target = [u8]>,
[src]
P: Pixel<Subpixel = u8> + 'static,
Container: Deref<Target = [u8]>,
pub fn save<Q>(&self, path: Q) -> Result<()> where
Q: AsRef<Path>,
[src]
Q: AsRef<Path>,
Saves the buffer to a file at the path specified.
The image format is derived from the file extension. Currently only jpeg and png files are supported.
impl<P: Pixel + 'static> ImageBuffer<P, Vec<P::Subpixel>> where
P::Subpixel: 'static,
[src]
P::Subpixel: 'static,
pub fn new(width: u32, height: u32) -> ImageBuffer<P, Vec<P::Subpixel>>
[src]
Creates a new image buffer based on a Vec<P::Subpixel>
.
pub fn from_pixel(
width: u32,
height: u32,
pixel: P
) -> ImageBuffer<P, Vec<P::Subpixel>>
[src]
width: u32,
height: u32,
pixel: P
) -> ImageBuffer<P, Vec<P::Subpixel>>
Constructs a new ImageBuffer by copying a pixel
pub fn from_fn<F>(
width: u32,
height: u32,
f: F
) -> ImageBuffer<P, Vec<P::Subpixel>> where
F: FnMut(u32, u32) -> P,
[src]
width: u32,
height: u32,
f: F
) -> ImageBuffer<P, Vec<P::Subpixel>> where
F: FnMut(u32, u32) -> P,
Constructs a new ImageBuffer by repeated application of the supplied function. The arguments to the function are the pixel's x and y coordinates.
pub fn from_vec(
width: u32,
height: u32,
buf: Vec<P::Subpixel>
) -> Option<ImageBuffer<P, Vec<P::Subpixel>>>
[src]
width: u32,
height: u32,
buf: Vec<P::Subpixel>
) -> Option<ImageBuffer<P, Vec<P::Subpixel>>>
Creates an image buffer out of an existing buffer. Returns None if the buffer is not big enough.
pub fn into_vec(self) -> Vec<P::Subpixel>
[src]
Consumes the image buffer and returns the underlying data as an owned buffer
Trait Implementations
impl<P, Container> GenericImage for ImageBuffer<P, Container> where
P: Pixel + 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
P::Subpixel: 'static,
[src]
P: Pixel + 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
P::Subpixel: 'static,
type Pixel = P
The type of pixel.
fn dimensions(&self) -> (u32, u32)
[src]
fn bounds(&self) -> (u32, u32, u32, u32)
[src]
fn get_pixel(&self, x: u32, y: u32) -> P
[src]
fn get_pixel_mut(&mut self, x: u32, y: u32) -> &mut P
[src]
unsafe fn unsafe_get_pixel(&self, x: u32, y: u32) -> P
[src]
Returns the pixel located at (x, y), ignoring bounds checking.
fn put_pixel(&mut self, x: u32, y: u32, pixel: P)
[src]
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.
fn width(&self) -> u32
[src]
fn height(&self) -> u32
[src]
fn in_bounds(&self, x: u32, y: u32) -> bool
[src]
ⓘImportant traits for Pixels<'a, I>fn pixels(&self) -> Pixels<Self>
[src]
ⓘImportant traits for MutPixels<'a, I>fn pixels_mut(&mut self) -> MutPixels<Self>
[src]
fn copy_from<O>(&mut self, other: &O, x: u32, y: u32) -> bool where
O: GenericImage<Pixel = Self::Pixel>,
[src]
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,
[src]
&mut self,
x: u32,
y: u32,
width: u32,
height: u32
) -> SubImage<Self> where
Self: 'static,
<Self::Pixel as Pixel>::Subpixel: 'static,
Self::Pixel: 'static,
impl<'a, 'b, Container, FromType: Pixel + 'static, ToType: Pixel + 'static> ConvertBuffer<ImageBuffer<ToType, Vec<<ToType as Pixel>::Subpixel>>> for ImageBuffer<FromType, Container> where
Container: Deref<Target = [FromType::Subpixel]>,
ToType: FromColor<FromType>,
FromType::Subpixel: 'static,
ToType::Subpixel: 'static,
[src]
Container: Deref<Target = [FromType::Subpixel]>,
ToType: FromColor<FromType>,
FromType::Subpixel: 'static,
ToType::Subpixel: 'static,
fn convert(&self) -> ImageBuffer<ToType, Vec<ToType::Subpixel>>
[src]
impl<P, Container> Clone for ImageBuffer<P, Container> where
P: Pixel,
Container: Deref<Target = [P::Subpixel]> + Clone,
[src]
P: Pixel,
Container: Deref<Target = [P::Subpixel]> + Clone,
fn clone(&self) -> ImageBuffer<P, Container>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<P: Debug + Pixel, Container: Debug> Debug for ImageBuffer<P, Container>
[src]
impl<P, Container> Deref for ImageBuffer<P, Container> where
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]>,
[src]
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]>,
type Target = [P::Subpixel]
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
impl<P, Container> DerefMut for ImageBuffer<P, Container> where
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
[src]
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
impl<P, Container> Index<(u32, u32)> for ImageBuffer<P, Container> where
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]>,
[src]
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]>,
impl<P, Container> IndexMut<(u32, u32)> for ImageBuffer<P, Container> where
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
[src]
P: Pixel + 'static,
P::Subpixel: 'static,
Container: Deref<Target = [P::Subpixel]> + DerefMut,
Auto Trait Implementations
impl<P, Container> Send for ImageBuffer<P, Container> where
Container: Send,
P: Send,
Container: Send,
P: Send,
impl<P, Container> Sync for ImageBuffer<P, Container> where
Container: Sync,
P: Sync,
Container: Sync,
P: Sync,
impl<P, Container> Unpin for ImageBuffer<P, Container> where
Container: Unpin,
P: Unpin,
Container: Unpin,
P: Unpin,
impl<P, Container> UnwindSafe for ImageBuffer<P, Container> where
Container: UnwindSafe,
P: UnwindSafe,
Container: UnwindSafe,
P: UnwindSafe,
impl<P, Container> RefUnwindSafe for ImageBuffer<P, Container> where
Container: RefUnwindSafe,
P: RefUnwindSafe,
Container: RefUnwindSafe,
P: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,