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§
source§impl<'s, SampleData: 's> AnyChannel<SampleData>
 
impl<'s, SampleData: 's> AnyChannel<SampleData>
sourcepub fn new(name: impl Into<Text>, sample_data: SampleData) -> Selfwhere
    SampleData: WritableSamples<'s>,
 
pub fn new(name: impl Into<Text>, sample_data: SampleData) -> Selfwhere 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§
source§impl<Samples: Clone> Clone for AnyChannel<Samples>
 
impl<Samples: Clone> Clone for AnyChannel<Samples>
source§fn clone(&self) -> AnyChannel<Samples>
 
fn clone(&self) -> AnyChannel<Samples>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl<Samples: Debug> Debug for AnyChannel<Samples>
 
impl<Samples: Debug> Debug for AnyChannel<Samples>
source§impl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>
 
impl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>
source§fn eq(&self, other: &AnyChannel<Samples>) -> bool
 
fn eq(&self, other: &AnyChannel<Samples>) -> bool
self and other values to be equal, and is used
by ==.