pub(crate) struct Image {Show 16 fields
pub ifd: Option<Directory>,
pub width: u32,
pub height: u32,
pub bits_per_sample: u8,
pub samples: u16,
pub sample_format: Vec<SampleFormat>,
pub photometric_interpretation: PhotometricInterpretation,
pub compression_method: CompressionMethod,
pub predictor: Predictor,
pub jpeg_tables: Option<Arc<Vec<u8>>>,
pub chunk_type: ChunkType,
pub planar_config: PlanarConfiguration,
pub strip_decoder: Option<StripDecodeState>,
pub tile_attributes: Option<TileAttributes>,
pub chunk_offsets: Vec<u64>,
pub chunk_bytes: Vec<u64>,
}
Fields§
§ifd: Option<Directory>
§width: u32
§height: u32
§bits_per_sample: u8
§samples: u16
§sample_format: Vec<SampleFormat>
§photometric_interpretation: PhotometricInterpretation
§compression_method: CompressionMethod
§predictor: Predictor
§jpeg_tables: Option<Arc<Vec<u8>>>
§chunk_type: ChunkType
§planar_config: PlanarConfiguration
§strip_decoder: Option<StripDecodeState>
§tile_attributes: Option<TileAttributes>
§chunk_offsets: Vec<u64>
§chunk_bytes: Vec<u64>
Implementations§
source§impl Image
impl Image
pub fn from_reader<R: Read + Seek>( reader: &mut SmartReader<R>, ifd: Directory, limits: &Limits, bigtiff: bool, ) -> TiffResult<Image>
pub(crate) fn colortype(&self) -> TiffResult<ColorType>
fn create_reader<'r, R: 'r + Read>( reader: R, photometric_interpretation: PhotometricInterpretation, compression_method: CompressionMethod, compressed_length: u64, jpeg_tables: Option<&[u8]>, ) -> TiffResult<Box<dyn Read + 'r>>
sourcepub(crate) fn samples_per_pixel(&self) -> usize
pub(crate) fn samples_per_pixel(&self) -> usize
Samples per pixel within chunk.
In planar config, samples are stored in separate strips/chunks, also called bands.
Example with bits_per_sample = [8, 8, 8]
and PhotometricInterpretation::RGB
:
PlanarConfiguration::Chunky
-> 3 (RGBRGBRGB…)PlanarConfiguration::Planar
-> 1 (RRR…) (GGG…) (BBB…)
sourcepub(crate) fn strips_per_pixel(&self) -> usize
pub(crate) fn strips_per_pixel(&self) -> usize
Number of strips per pixel.
pub(crate) fn chunk_file_range(&self, chunk: u32) -> TiffResult<(u64, u64)>
pub(crate) fn chunk_dimensions(&self) -> TiffResult<(u32, u32)>
pub(crate) fn chunk_data_dimensions( &self, chunk_index: u32, ) -> TiffResult<(u32, u32)>
pub(crate) fn expand_chunk( &self, reader: impl Read, buffer: DecodingBuffer<'_>, output_width: usize, byte_order: ByteOrder, chunk_index: u32, limits: &Limits, ) -> TiffResult<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Image
impl RefUnwindSafe for Image
impl Send for Image
impl Sync for Image
impl Unpin for Image
impl UnwindSafe for Image
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
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more