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§
source§impl<DeepOrFlatSamples> ReadLargestLevel<DeepOrFlatSamples>
impl<DeepOrFlatSamples> ReadLargestLevel<DeepOrFlatSamples>
sourcepub fn all_channels(self) -> ReadAnyChannels<DeepOrFlatSamples>
pub fn all_channels(self) -> ReadAnyChannels<DeepOrFlatSamples>
Read all arbitrary channels in each layer.
sourcepub 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)),
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)),
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.
sourcepub 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)),
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)),
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.
sourcepub fn specific_channels(self) -> ReadZeroChannels
pub fn specific_channels(self) -> ReadZeroChannels
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§
source§impl<DeepOrFlatSamples: Clone> Clone for ReadLargestLevel<DeepOrFlatSamples>
impl<DeepOrFlatSamples: Clone> Clone for ReadLargestLevel<DeepOrFlatSamples>
source§fn clone(&self) -> ReadLargestLevel<DeepOrFlatSamples>
fn clone(&self) -> ReadLargestLevel<DeepOrFlatSamples>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<DeepOrFlatSamples: Debug> Debug for ReadLargestLevel<DeepOrFlatSamples>
impl<DeepOrFlatSamples: Debug> Debug for ReadLargestLevel<DeepOrFlatSamples>
source§impl<DeepOrFlatSamples: PartialEq> PartialEq for ReadLargestLevel<DeepOrFlatSamples>
impl<DeepOrFlatSamples: PartialEq> PartialEq for ReadLargestLevel<DeepOrFlatSamples>
source§fn eq(&self, other: &ReadLargestLevel<DeepOrFlatSamples>) -> bool
fn eq(&self, other: &ReadLargestLevel<DeepOrFlatSamples>) -> bool
self
and other
values to be equal, and is used by ==
.impl<DeepOrFlatSamples: Eq> Eq for ReadLargestLevel<DeepOrFlatSamples>
impl<DeepOrFlatSamples> StructuralPartialEq for ReadLargestLevel<DeepOrFlatSamples>
Auto Trait Implementations§
impl<DeepOrFlatSamples> Freeze for ReadLargestLevel<DeepOrFlatSamples>where
DeepOrFlatSamples: Freeze,
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)