[−][src]Trait image::Pixel
A generalized pixel.
A pixel object is usually not used standalone but as a view into an image buffer.
Associated Types
Loading content...Required methods
fn channel_count() -> u8
Returns the number of channels of this pixel type.
fn channels(&self) -> &[Self::Subpixel]
Returns the components as a slice.
fn channels_mut(&mut self) -> &mut [Self::Subpixel]
Returns the components as a mutable slice
fn color_model() -> &'static str
Returns a string that can help to interpret the meaning each channel See gimp babl.
fn color_type() -> ColorType
Returns the ColorType for this pixel format
fn channels4(
&self
) -> (Self::Subpixel, Self::Subpixel, Self::Subpixel, Self::Subpixel)
&self
) -> (Self::Subpixel, Self::Subpixel, Self::Subpixel, Self::Subpixel)
Returns the channels of this pixel as a 4 tuple. If the pixel has less than 4 channels the remainder is filled with the maximum value
TODO deprecate
fn from_channels(
a: Self::Subpixel,
b: Self::Subpixel,
c: Self::Subpixel,
d: Self::Subpixel
) -> Self
a: Self::Subpixel,
b: Self::Subpixel,
c: Self::Subpixel,
d: Self::Subpixel
) -> Self
Construct a pixel from the 4 channels a, b, c and d. If the pixel does not contain 4 channels the extra are ignored.
TODO deprecate
fn from_slice(slice: &[Self::Subpixel]) -> &Self
Returns a view into a slice.
Note: The slice length is not checked on creation. Thus the caller has to ensure that the slice is long enough to present panics if the pixel is used later on.
fn from_slice_mut(slice: &mut [Self::Subpixel]) -> &mut Self
Returns mutable view into a mutable slice.
Note: The slice length is not checked on creation. Thus the caller has to ensure that the slice is long enough to present panics if the pixel is used later on.
fn to_rgb(&self) -> Rgb<Self::Subpixel>
Convert this pixel to RGB
fn to_rgba(&self) -> Rgba<Self::Subpixel>
Convert this pixel to RGB with an alpha channel
fn to_luma(&self) -> Luma<Self::Subpixel>
Convert this pixel to luma
fn to_luma_alpha(&self) -> LumaA<Self::Subpixel>
Convert this pixel to luma with an alpha channel
fn to_bgr(&self) -> Bgr<Self::Subpixel>
Convert this pixel to BGR
fn to_bgra(&self) -> Bgra<Self::Subpixel>
Convert this pixel to BGR with an alpha channel
fn map<F>(&self, f: F) -> Self where
F: FnMut(Self::Subpixel) -> Self::Subpixel,
F: FnMut(Self::Subpixel) -> Self::Subpixel,
Apply the function f
to each channel of this pixel.
fn apply<F>(&mut self, f: F) where
F: FnMut(Self::Subpixel) -> Self::Subpixel,
F: FnMut(Self::Subpixel) -> Self::Subpixel,
Apply the function f
to each channel of this pixel.
fn map_with_alpha<F, G>(&self, f: F, g: G) -> Self where
F: FnMut(Self::Subpixel) -> Self::Subpixel,
G: FnMut(Self::Subpixel) -> Self::Subpixel,
F: FnMut(Self::Subpixel) -> Self::Subpixel,
G: FnMut(Self::Subpixel) -> Self::Subpixel,
Apply the function f
to each channel except the alpha channel.
Apply the function g
to the alpha channel.
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(Self::Subpixel) -> Self::Subpixel,
G: FnMut(Self::Subpixel) -> Self::Subpixel,
F: FnMut(Self::Subpixel) -> Self::Subpixel,
G: FnMut(Self::Subpixel) -> Self::Subpixel,
Apply the function f
to each channel except the alpha channel.
Apply the function g
to the alpha channel. Works in-place.
fn map2<F>(&self, other: &Self, f: F) -> Self where
F: FnMut(Self::Subpixel, Self::Subpixel) -> Self::Subpixel,
F: FnMut(Self::Subpixel, Self::Subpixel) -> Self::Subpixel,
Apply the function f
to each channel of this pixel and
other
pairwise.
fn apply2<F>(&mut self, other: &Self, f: F) where
F: FnMut(Self::Subpixel, Self::Subpixel) -> Self::Subpixel,
F: FnMut(Self::Subpixel, Self::Subpixel) -> Self::Subpixel,
Apply the function f
to each channel of this pixel and
other
pairwise. Works in-place.
fn invert(&mut self)
Invert this pixel
fn blend(&mut self, other: &Self)
Blend the color of a given pixel into ourself, taking into account alpha channels
Implementors
impl<T: Primitive + 'static> Pixel for Bgr<T>
[src]
type Subpixel = T
fn channel_count() -> u8
[src]
fn color_model() -> &'static str
[src]
fn color_type() -> ColorType
[src]
fn channels(&self) -> &[T]
[src]
fn channels_mut(&mut self) -> &mut [T]
[src]
fn channels4(&self) -> (T, T, T, T)
[src]
fn from_channels(a: T, b: T, c: T, d: T) -> Bgr<T>
[src]
fn from_slice(slice: &[T]) -> &Bgr<T>
[src]
fn from_slice_mut(slice: &mut [T]) -> &mut Bgr<T>
[src]
fn to_rgb(&self) -> Rgb<T>
[src]
fn to_bgr(&self) -> Bgr<T>
[src]
fn to_rgba(&self) -> Rgba<T>
[src]
fn to_bgra(&self) -> Bgra<T>
[src]
fn to_luma(&self) -> Luma<T>
[src]
fn to_luma_alpha(&self) -> LumaA<T>
[src]
fn map<F>(&self, f: F) -> Bgr<T> where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn apply<F>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn map_with_alpha<F, G>(&self, f: F, g: G) -> Bgr<T> where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn map2<F>(&self, other: &Self, f: F) -> Bgr<T> where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn apply2<F>(&mut self, other: &Bgr<T>, f: F) where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn invert(&mut self)
[src]
fn blend(&mut self, other: &Bgr<T>)
[src]
impl<T: Primitive + 'static> Pixel for Bgra<T>
[src]
type Subpixel = T
fn channel_count() -> u8
[src]
fn color_model() -> &'static str
[src]
fn color_type() -> ColorType
[src]
fn channels(&self) -> &[T]
[src]
fn channels_mut(&mut self) -> &mut [T]
[src]
fn channels4(&self) -> (T, T, T, T)
[src]
fn from_channels(a: T, b: T, c: T, d: T) -> Bgra<T>
[src]
fn from_slice(slice: &[T]) -> &Bgra<T>
[src]
fn from_slice_mut(slice: &mut [T]) -> &mut Bgra<T>
[src]
fn to_rgb(&self) -> Rgb<T>
[src]
fn to_bgr(&self) -> Bgr<T>
[src]
fn to_rgba(&self) -> Rgba<T>
[src]
fn to_bgra(&self) -> Bgra<T>
[src]
fn to_luma(&self) -> Luma<T>
[src]
fn to_luma_alpha(&self) -> LumaA<T>
[src]
fn map<F>(&self, f: F) -> Bgra<T> where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn apply<F>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn map_with_alpha<F, G>(&self, f: F, g: G) -> Bgra<T> where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn map2<F>(&self, other: &Self, f: F) -> Bgra<T> where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn apply2<F>(&mut self, other: &Bgra<T>, f: F) where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn invert(&mut self)
[src]
fn blend(&mut self, other: &Bgra<T>)
[src]
impl<T: Primitive + 'static> Pixel for Luma<T>
[src]
type Subpixel = T
fn channel_count() -> u8
[src]
fn color_model() -> &'static str
[src]
fn color_type() -> ColorType
[src]
fn channels(&self) -> &[T]
[src]
fn channels_mut(&mut self) -> &mut [T]
[src]
fn channels4(&self) -> (T, T, T, T)
[src]
fn from_channels(a: T, b: T, c: T, d: T) -> Luma<T>
[src]
fn from_slice(slice: &[T]) -> &Luma<T>
[src]
fn from_slice_mut(slice: &mut [T]) -> &mut Luma<T>
[src]
fn to_rgb(&self) -> Rgb<T>
[src]
fn to_bgr(&self) -> Bgr<T>
[src]
fn to_rgba(&self) -> Rgba<T>
[src]
fn to_bgra(&self) -> Bgra<T>
[src]
fn to_luma(&self) -> Luma<T>
[src]
fn to_luma_alpha(&self) -> LumaA<T>
[src]
fn map<F>(&self, f: F) -> Luma<T> where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn apply<F>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn map_with_alpha<F, G>(&self, f: F, g: G) -> Luma<T> where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn map2<F>(&self, other: &Self, f: F) -> Luma<T> where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn apply2<F>(&mut self, other: &Luma<T>, f: F) where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn invert(&mut self)
[src]
fn blend(&mut self, other: &Luma<T>)
[src]
impl<T: Primitive + 'static> Pixel for LumaA<T>
[src]
type Subpixel = T
fn channel_count() -> u8
[src]
fn color_model() -> &'static str
[src]
fn color_type() -> ColorType
[src]
fn channels(&self) -> &[T]
[src]
fn channels_mut(&mut self) -> &mut [T]
[src]
fn channels4(&self) -> (T, T, T, T)
[src]
fn from_channels(a: T, b: T, c: T, d: T) -> LumaA<T>
[src]
fn from_slice(slice: &[T]) -> &LumaA<T>
[src]
fn from_slice_mut(slice: &mut [T]) -> &mut LumaA<T>
[src]
fn to_rgb(&self) -> Rgb<T>
[src]
fn to_bgr(&self) -> Bgr<T>
[src]
fn to_rgba(&self) -> Rgba<T>
[src]
fn to_bgra(&self) -> Bgra<T>
[src]
fn to_luma(&self) -> Luma<T>
[src]
fn to_luma_alpha(&self) -> LumaA<T>
[src]
fn map<F>(&self, f: F) -> LumaA<T> where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn apply<F>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn map_with_alpha<F, G>(&self, f: F, g: G) -> LumaA<T> where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn map2<F>(&self, other: &Self, f: F) -> LumaA<T> where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn apply2<F>(&mut self, other: &LumaA<T>, f: F) where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn invert(&mut self)
[src]
fn blend(&mut self, other: &LumaA<T>)
[src]
impl<T: Primitive + 'static> Pixel for Rgb<T>
[src]
type Subpixel = T
fn channel_count() -> u8
[src]
fn color_model() -> &'static str
[src]
fn color_type() -> ColorType
[src]
fn channels(&self) -> &[T]
[src]
fn channels_mut(&mut self) -> &mut [T]
[src]
fn channels4(&self) -> (T, T, T, T)
[src]
fn from_channels(a: T, b: T, c: T, d: T) -> Rgb<T>
[src]
fn from_slice(slice: &[T]) -> &Rgb<T>
[src]
fn from_slice_mut(slice: &mut [T]) -> &mut Rgb<T>
[src]
fn to_rgb(&self) -> Rgb<T>
[src]
fn to_bgr(&self) -> Bgr<T>
[src]
fn to_rgba(&self) -> Rgba<T>
[src]
fn to_bgra(&self) -> Bgra<T>
[src]
fn to_luma(&self) -> Luma<T>
[src]
fn to_luma_alpha(&self) -> LumaA<T>
[src]
fn map<F>(&self, f: F) -> Rgb<T> where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn apply<F>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn map_with_alpha<F, G>(&self, f: F, g: G) -> Rgb<T> where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn map2<F>(&self, other: &Self, f: F) -> Rgb<T> where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn apply2<F>(&mut self, other: &Rgb<T>, f: F) where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn invert(&mut self)
[src]
fn blend(&mut self, other: &Rgb<T>)
[src]
impl<T: Primitive + 'static> Pixel for Rgba<T>
[src]
type Subpixel = T
fn channel_count() -> u8
[src]
fn color_model() -> &'static str
[src]
fn color_type() -> ColorType
[src]
fn channels(&self) -> &[T]
[src]
fn channels_mut(&mut self) -> &mut [T]
[src]
fn channels4(&self) -> (T, T, T, T)
[src]
fn from_channels(a: T, b: T, c: T, d: T) -> Rgba<T>
[src]
fn from_slice(slice: &[T]) -> &Rgba<T>
[src]
fn from_slice_mut(slice: &mut [T]) -> &mut Rgba<T>
[src]
fn to_rgb(&self) -> Rgb<T>
[src]
fn to_bgr(&self) -> Bgr<T>
[src]
fn to_rgba(&self) -> Rgba<T>
[src]
fn to_bgra(&self) -> Bgra<T>
[src]
fn to_luma(&self) -> Luma<T>
[src]
fn to_luma_alpha(&self) -> LumaA<T>
[src]
fn map<F>(&self, f: F) -> Rgba<T> where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn apply<F>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
fn map_with_alpha<F, G>(&self, f: F, g: G) -> Rgba<T> where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn apply_with_alpha<F, G>(&mut self, f: F, g: G) where
F: FnMut(T) -> T,
G: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
G: FnMut(T) -> T,
fn map2<F>(&self, other: &Self, f: F) -> Rgba<T> where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,
fn apply2<F>(&mut self, other: &Rgba<T>, f: F) where
F: FnMut(T, T) -> T,
[src]
F: FnMut(T, T) -> T,