Struct exr::image::AnyChannel [−][src]
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: Text
One of “R”, “G”, or “B” most of the time.
sample_data: Samples
The actual pixel data.
Can be FlatSamples
or Levels<FlatSamples>
.
quantize_linearly: bool
This 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
impl<'s, SampleData: 's> AnyChannel<SampleData>
[src]
impl<'s, SampleData: 's> AnyChannel<SampleData>
[src]pub fn new(name: impl Into<Text>, sample_data: SampleData) -> Self where
SampleData: WritableSamples<'s>,
[src]
pub fn new(name: impl Into<Text>, sample_data: SampleData) -> Self where
SampleData: WritableSamples<'s>,
[src]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
impl<Samples: Clone> Clone for AnyChannel<Samples>
[src]
impl<Samples: Clone> Clone for AnyChannel<Samples>
[src]fn clone(&self) -> AnyChannel<Samples>
[src]
fn clone(&self) -> AnyChannel<Samples>
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl<Samples: Debug> Debug for AnyChannel<Samples>
[src]
impl<Samples: Debug> Debug for AnyChannel<Samples>
[src]impl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>
[src]
impl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>
[src]fn eq(&self, other: &AnyChannel<Samples>) -> bool
[src]
fn eq(&self, other: &AnyChannel<Samples>) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &AnyChannel<Samples>) -> bool
[src]
fn ne(&self, other: &AnyChannel<Samples>) -> bool
[src]This method tests for !=
.
impl<S> ValidateResult for AnyChannel<S> where
S: ValidateResult,
[src]
impl<S> ValidateResult for AnyChannel<S> where
S: ValidateResult,
[src]fn validate_result(
&self,
other: &Self,
options: ValidationOptions,
location: String
) -> ValidationResult
[src]
fn validate_result(
&self,
other: &Self,
options: ValidationOptions,
location: String
) -> ValidationResult
[src]Compare self with the other. Exceptional behaviour: Read more
fn assert_equals_result(&self, result: &Self)
[src]
fn assert_equals_result(&self, result: &Self)
[src]Compare self with the other. Panics if not equal. Read more
impl<Samples> StructuralPartialEq for AnyChannel<Samples>
[src]
Auto Trait Implementations
impl<Samples> RefUnwindSafe for AnyChannel<Samples> where
Samples: RefUnwindSafe,
Samples: RefUnwindSafe,
impl<Samples> Send for AnyChannel<Samples> where
Samples: Send,
Samples: Send,
impl<Samples> Sync for AnyChannel<Samples> where
Samples: Sync,
Samples: Sync,
impl<Samples> Unpin for AnyChannel<Samples> where
Samples: Unpin,
Samples: Unpin,
impl<Samples> UnwindSafe for AnyChannel<Samples> where
Samples: UnwindSafe,
Samples: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more