pub struct TiffReader<'a> { /* private fields */ }Expand description
Reader for TIFF and BigTIFF files
Implementations§
Source§impl<'a> TiffReader<'a>
impl<'a> TiffReader<'a>
Sourcepub fn load(&mut self, filepath: &str) -> TiffResult<TIFF>
pub fn load(&mut self, filepath: &str) -> TiffResult<TIFF>
Sourcepub fn read(&mut self, reader: &mut dyn SeekableReader) -> TiffResult<TIFF>
pub fn read(&mut self, reader: &mut dyn SeekableReader) -> TiffResult<TIFF>
Reads a TIFF file from the given reader
This method handles the core process of reading a TIFF file:
- Detect byte order (little/big endian)
- Check for TIFF or BigTIFF format
- Read all IFDs (Image File Directories)
§Arguments
reader- Any struct implementing the SeekableReader trait
§Returns
A TIFF structure containing the file’s contents
Sourcepub fn read_ifd(
&self,
reader: &mut dyn SeekableReader,
offset: u64,
number: usize,
) -> TiffResult<IFD>
pub fn read_ifd( &self, reader: &mut dyn SeekableReader, offset: u64, number: usize, ) -> TiffResult<IFD>
Reads an IFD from the reader
An IFD (Image File Directory) contains all the metadata for a single image. It consists of a count followed by a series of entries, each describing an aspect of the image (dimensions, color space, compression, etc.)
§Arguments
reader- The seekable reader to useoffset- Offset in the file where the IFD startsnumber- The index of this IFD in the file
§Returns
The parsed IFD structure
Sourcepub fn read_tag_values(
&self,
reader: &mut dyn SeekableReader,
ifd: &IFD,
tag: u16,
) -> TiffResult<Vec<u64>>
pub fn read_tag_values( &self, reader: &mut dyn SeekableReader, ifd: &IFD, tag: u16, ) -> TiffResult<Vec<u64>>
Reads a tag’s value as a vector of u64
This is a utility method for extracting tag values from an IFD. It handles different field types and automatically converts them to u64.
§Arguments
reader- The seekable reader to useifd- The IFD containing the tagtag- The tag number to read
§Returns
A vector of u64 values
Sourcepub fn read_rational(
&self,
reader: &mut dyn SeekableReader,
) -> TiffResult<(u32, u32)>
pub fn read_rational( &self, reader: &mut dyn SeekableReader, ) -> TiffResult<(u32, u32)>
Sourcepub fn read_u16(&self, reader: &mut dyn SeekableReader) -> TiffResult<u16>
pub fn read_u16(&self, reader: &mut dyn SeekableReader) -> TiffResult<u16>
Sourcepub fn read_u32(&self, reader: &mut dyn SeekableReader) -> TiffResult<u32>
pub fn read_u32(&self, reader: &mut dyn SeekableReader) -> TiffResult<u32>
Sourcepub fn read_u64(&self, reader: &mut dyn SeekableReader) -> TiffResult<u64>
pub fn read_u64(&self, reader: &mut dyn SeekableReader) -> TiffResult<u64>
Sourcepub fn read_f64(&self, reader: &mut dyn SeekableReader) -> TiffResult<f64>
pub fn read_f64(&self, reader: &mut dyn SeekableReader) -> TiffResult<f64>
Sourcepub fn read_ascii_string(
&self,
reader: &mut dyn SeekableReader,
count: u64,
) -> TiffResult<String>
pub fn read_ascii_string( &self, reader: &mut dyn SeekableReader, count: u64, ) -> TiffResult<String>
Sourcepub fn read_ascii_string_at_offset(
&self,
offset: u64,
count: u64,
) -> TiffResult<String>
pub fn read_ascii_string_at_offset( &self, offset: u64, count: u64, ) -> TiffResult<String>
Sourcepub fn get_file_path(&self) -> Option<&str>
pub fn get_file_path(&self) -> Option<&str>
Sourcepub fn is_big_tiff(&self) -> bool
pub fn is_big_tiff(&self) -> bool
Returns whether the current file is a BigTIFF
§Returns
true if the file is BigTIFF, false if it’s standard TIFF
Sourcepub fn read_overviews(&mut self, filepath: &str) -> TiffResult<Vec<IFD>>
pub fn read_overviews(&mut self, filepath: &str) -> TiffResult<Vec<IFD>>
Sourcepub fn get_byte_order_handler(&self) -> Option<&Box<dyn ByteOrderHandler>>
pub fn get_byte_order_handler(&self) -> Option<&Box<dyn ByteOrderHandler>>
Gets the current byte order handler
§Returns
A reference to the current byte order handler, or None if not yet set
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for TiffReader<'a>
impl<'a> !UnwindSafe for TiffReader<'a>
impl<'a> Freeze for TiffReader<'a>
impl<'a> Send for TiffReader<'a>
impl<'a> Sync for TiffReader<'a>
impl<'a> Unpin for TiffReader<'a>
impl<'a> UnsafeUnpin for TiffReader<'a>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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>
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