Struct exr::image::AnyChannel
source · [−]pub struct AnyChannel<Samples> {
pub name: Text,
pub sample_data: Samples,
pub quantize_linearly: bool,
pub sampling: Vec2<usize>,
}Expand description
A single arbitrary channel.
Samples can currently only be FlatSamples or Levels<FlatSamples>
Fields
name: TextOne of “R”, “G”, or “B” most of the time.
sample_data: SamplesThe actual pixel data.
Can be FlatSamples or Levels<FlatSamples>.
quantize_linearly: boolThis attribute only tells lossy compression methods whether this value should be quantized exponentially or linearly.
Should be false for red, green, blue and luma channels, as they are not perceived linearly.
Should be true for hue, chroma, saturation, and alpha channels.
sampling: Vec2<usize>How many of the samples are skipped compared to the other channels in this layer.
Can be used for chroma subsampling for manual lossy data compression. Values other than 1 are allowed only in flat, scan-line based images. If an image is deep or tiled, the sampling rates for all of its channels must be 1.
Implementations
sourceimpl<'s, SampleData: 's> AnyChannel<SampleData>
impl<'s, SampleData: 's> AnyChannel<SampleData>
sourcepub fn new(name: impl Into<Text>, sample_data: SampleData) -> Self where
SampleData: WritableSamples<'s>,
pub fn new(name: impl Into<Text>, sample_data: SampleData) -> Self where
SampleData: WritableSamples<'s>,
Create a new channel without subsampling.
Automatically flags this channel for specialized compression
if the name is “R”, “G”, “B”, “Y”, or “L”,
as they typically encode values that are perceived non-linearly.
Construct the value yourself using AnyChannel { .. }, if you want to control this flag.
Trait Implementations
sourceimpl<Samples: Clone> Clone for AnyChannel<Samples>
impl<Samples: Clone> Clone for AnyChannel<Samples>
sourcefn clone(&self) -> AnyChannel<Samples>
fn clone(&self) -> AnyChannel<Samples>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<Samples: Debug> Debug for AnyChannel<Samples>
impl<Samples: Debug> Debug for AnyChannel<Samples>
sourceimpl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>
impl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>
sourcefn eq(&self, other: &AnyChannel<Samples>) -> bool
fn eq(&self, other: &AnyChannel<Samples>) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &AnyChannel<Samples>) -> bool
fn ne(&self, other: &AnyChannel<Samples>) -> bool
This method tests for !=.
sourceimpl<S> ValidateResult for AnyChannel<S> where
S: ValidateResult,
impl<S> ValidateResult for AnyChannel<S> where
S: ValidateResult,
sourcefn validate_result(
&self,
other: &Self,
options: ValidationOptions,
location: String
) -> ValidationResult
fn validate_result(
&self,
other: &Self,
options: ValidationOptions,
location: String
) -> ValidationResult
Compare self with the other. Exceptional behaviour: Read more
sourcefn assert_equals_result(&self, result: &Self)
fn assert_equals_result(&self, result: &Self)
Compare self with the other. Panics if not equal. Read more
impl<Samples> StructuralPartialEq for AnyChannel<Samples>
Auto Trait Implementations
impl<Samples> RefUnwindSafe for AnyChannel<Samples> where
Samples: RefUnwindSafe,
impl<Samples> Send for AnyChannel<Samples> where
Samples: Send,
impl<Samples> Sync for AnyChannel<Samples> where
Samples: Sync,
impl<Samples> Unpin for AnyChannel<Samples> where
Samples: Unpin,
impl<Samples> UnwindSafe for AnyChannel<Samples> where
Samples: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more