[−][src]Struct ffimage::packed::generic::ImageViewMut
Mutable image view
Implementations
impl<'a, T: Pixel> ImageViewMut<'a, T>
[src]
pub fn new(raw: &'a mut [T::T], width: u32, height: u32) -> Option<Self>
[src]
Returns a flat image buffer with pixel accessors
'Flat' means that the backing memory of the image is not allocated by the struct. Thus, this struct allows for reusing existing (mutable) buffers and still having images defined by their pixel types.
Arguments
raw
- Raw memory regionwidth
- Width in pixelsheight
- Height in pixels
Example
use ffimage::color::rgb::*; use ffimage::core::GenericImage; use ffimage::packed::generic::ImageViewMut; let mut mem = vec![0; 3]; let mut buf = ImageViewMut::<Rgb<u8>>::new(&mut mem, 1, 1) .expect("Memory region too small"); let pix = Rgb::<u8>::new([255, 255, 255]); buf.set_pixel(0, 0, &pix).unwrap();
pub fn raw(&self) -> &[T::T]
[src]
pub fn raw_mut(&mut self) -> &mut [T::T]
[src]
pub fn stride(&self) -> usize
[src]
Returns the length of one pixel row in bytes
Trait Implementations
impl<'a, T: Debug + Pixel> Debug for ImageViewMut<'a, T> where
T::T: Debug,
[src]
T::T: Debug,
impl<'a, T: Pixel, '_> From<&'_ ImageViewMut<'a, T>> for ImageBuffer<T>
[src]
fn from(view: &ImageViewMut<'a, T>) -> Self
[src]
impl<'a, T: Pixel + 'a> GenericImage<'a> for ImageViewMut<'a, T>
[src]
impl<'a, T: Pixel + 'a> GenericImageView<'a> for ImageViewMut<'a, T>
[src]
type T = T
Pixel type
fn width(&self) -> u32
[src]
fn height(&self) -> u32
[src]
fn pixel(&self, x: u32, y: u32) -> Option<Self::T>
[src]
type SubImage = SubImageView<'a, Self>
Type of sub images
fn view(
&'a self,
x: u32,
y: u32,
width: u32,
height: u32
) -> Option<Self::SubImage>
[src]
&'a self,
x: u32,
y: u32,
width: u32,
height: u32
) -> Option<Self::SubImage>
impl<'a, T: Pixel> Index<usize> for ImageViewMut<'a, T>
[src]
type Output = [T]
The returned type after indexing.
fn index(&self, index: usize) -> &Self::Output
[src]
impl<'a, T: Pixel> IndexMut<usize> for ImageViewMut<'a, T>
[src]
impl<'a, T: Pixel> IntoIterator for &'a ImageViewMut<'a, T>
[src]
type Item = &'a T
The type of the elements being iterated over.
type IntoIter = PixelIter<'a, ImageViewMut<'a, T>>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
impl<'a, T: Pixel> IntoIterator for &'a mut ImageViewMut<'a, T>
[src]
type Item = &'a mut T
The type of the elements being iterated over.
type IntoIter = PixelIterMut<'a, ImageViewMut<'a, T>>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
impl<'a, SP, DP> TryConvert<ImageBuffer<DP>> for ImageViewMut<'a, SP> where
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
[src]
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
type Error = ()
fn try_convert(&self, output: &mut ImageBuffer<DP>) -> Result<(), Self::Error>
[src]
impl<'a, 'b, SP, DP> TryConvert<ImageViewMut<'b, DP>> for ImageView<'a, SP> where
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
[src]
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
type Error = ()
fn try_convert(
&self,
output: &mut ImageViewMut<'b, DP>
) -> Result<(), Self::Error>
[src]
&self,
output: &mut ImageViewMut<'b, DP>
) -> Result<(), Self::Error>
impl<'a, 'b, SP, DP> TryConvert<ImageViewMut<'b, DP>> for ImageViewMut<'a, SP> where
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
[src]
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
type Error = ()
fn try_convert(
&self,
output: &mut ImageViewMut<'b, DP>
) -> Result<(), Self::Error>
[src]
&self,
output: &mut ImageViewMut<'b, DP>
) -> Result<(), Self::Error>
impl<'b, SP, DP> TryConvert<ImageViewMut<'b, DP>> for ImageBuffer<SP> where
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
[src]
SP: Pixel,
DP: Pixel,
SP: TryConvertSlice<DP>,
type Error = ()
fn try_convert(
&self,
output: &mut ImageViewMut<'b, DP>
) -> Result<(), Self::Error>
[src]
&self,
output: &mut ImageViewMut<'b, DP>
) -> Result<(), Self::Error>
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for ImageViewMut<'a, T> where
<T as Pixel>::T: RefUnwindSafe,
<T as Pixel>::T: RefUnwindSafe,
impl<'a, T> Send for ImageViewMut<'a, T> where
<T as Pixel>::T: Send,
<T as Pixel>::T: Send,
impl<'a, T> Sync for ImageViewMut<'a, T> where
<T as Pixel>::T: Sync,
<T as Pixel>::T: Sync,
impl<'a, T> Unpin for ImageViewMut<'a, T>
impl<'a, T> !UnwindSafe for ImageViewMut<'a, T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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>,