Struct exr::image::read::levels::ReadLargestLevel[][src]

pub struct ReadLargestLevel<DeepOrFlatSamples> {
    pub read_samples: DeepOrFlatSamples,
}
Expand description

Specify to read only the highest resolution level, skipping all smaller variations. The sample storage can be [ReadFlatSamples].

Fields

read_samples: DeepOrFlatSamples

The sample reading specification

Implementations

impl<DeepOrFlatSamples> ReadLargestLevel<DeepOrFlatSamples>[src]

pub fn all_channels(self) -> ReadAnyChannels<DeepOrFlatSamples>[src]

Read all arbitrary channels in each layer.

pub fn rgba_channels<R, G, B, A, Create, Set, Pixels>(
    self,
    create_pixels: Create,
    set_pixel: Set
) -> CollectPixels<ReadOptionalChannel<ReadRequiredChannel<ReadRequiredChannel<ReadRequiredChannel<NoneMore, R>, G>, B>, A>, (R, G, B, A), Pixels, Create, Set> where
    R: FromNativeSample,
    G: FromNativeSample,
    B: FromNativeSample,
    A: FromNativeSample,
    Create: Fn(Vec2<usize>, &RgbaChannels) -> Pixels,
    Set: Fn(&mut Pixels, Vec2<usize>, (R, G, B, A)), 
[src]

Read only layers that contain rgba channels. Skips any other channels in the layer. The alpha channel will contain the value 1.0 if no alpha channel can be found in the image.

Using two closures, define how to store the pixels. The first closure creates an image, and the second closure inserts a single pixel. The type of the pixel can be defined by the second closure; it must be a tuple containing four values, each being either f16, f32, u32 or Sample.

Throws an error for images with deep data or subsampling. Use specific_channels or all_channels if you want to read something other than rgba.

pub fn rgb_channels<R, G, B, Create, Set, Pixels>(
    self,
    create_pixels: Create,
    set_pixel: Set
) -> CollectPixels<ReadRequiredChannel<ReadRequiredChannel<ReadRequiredChannel<NoneMore, R>, G>, B>, (R, G, B), Pixels, Create, Set> where
    R: FromNativeSample,
    G: FromNativeSample,
    B: FromNativeSample,
    Create: Fn(Vec2<usize>, &RgbChannels) -> Pixels,
    Set: Fn(&mut Pixels, Vec2<usize>, (R, G, B)), 
[src]

Read only layers that contain rgb channels. Skips any other channels in the layer.

Using two closures, define how to store the pixels. The first closure creates an image, and the second closure inserts a single pixel. The type of the pixel can be defined by the second closure; it must be a tuple containing three values, each being either f16, f32, u32 or Sample.

Throws an error for images with deep data or subsampling. Use specific_channels or all_channels if you want to read something other than rgb.

pub fn specific_channels(self) -> ReadZeroChannels[src]

Read only layers that contain the specified channels, skipping any other channels in the layer. Further specify which channels should be included by calling .required("ChannelName") or .optional("ChannelName", default_value) on the result of this function. Call collect_pixels afterwards to define the pixel container for your set of channels.

Throws an error for images with deep data or subsampling.

Trait Implementations

impl<DeepOrFlatSamples: Clone> Clone for ReadLargestLevel<DeepOrFlatSamples>[src]

fn clone(&self) -> ReadLargestLevel<DeepOrFlatSamples>[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<DeepOrFlatSamples: Debug> Debug for ReadLargestLevel<DeepOrFlatSamples>[src]

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

Formats the value using the given formatter. Read more

impl<DeepOrFlatSamples: PartialEq> PartialEq<ReadLargestLevel<DeepOrFlatSamples>> for ReadLargestLevel<DeepOrFlatSamples>[src]

fn eq(&self, other: &ReadLargestLevel<DeepOrFlatSamples>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &ReadLargestLevel<DeepOrFlatSamples>) -> bool[src]

This method tests for !=.

impl<DeepOrFlatSamples: Eq> Eq for ReadLargestLevel<DeepOrFlatSamples>[src]

impl<DeepOrFlatSamples> StructuralEq for ReadLargestLevel<DeepOrFlatSamples>[src]

impl<DeepOrFlatSamples> StructuralPartialEq for ReadLargestLevel<DeepOrFlatSamples>[src]

Auto Trait Implementations

impl<DeepOrFlatSamples> RefUnwindSafe for ReadLargestLevel<DeepOrFlatSamples> where
    DeepOrFlatSamples: RefUnwindSafe

impl<DeepOrFlatSamples> Send for ReadLargestLevel<DeepOrFlatSamples> where
    DeepOrFlatSamples: Send

impl<DeepOrFlatSamples> Sync for ReadLargestLevel<DeepOrFlatSamples> where
    DeepOrFlatSamples: Sync

impl<DeepOrFlatSamples> Unpin for ReadLargestLevel<DeepOrFlatSamples> where
    DeepOrFlatSamples: Unpin

impl<DeepOrFlatSamples> UnwindSafe for ReadLargestLevel<DeepOrFlatSamples> where
    DeepOrFlatSamples: 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.