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]

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]

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]

Performs copy-assignment from source. Read more

impl<Samples: Debug> Debug for AnyChannel<Samples>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<Samples: PartialEq> PartialEq<AnyChannel<Samples>> for AnyChannel<Samples>[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]

This method tests for !=.

impl<S> ValidateResult for AnyChannel<S> where
    S: ValidateResult
[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]

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

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.