Struct tinytga::RawTga

source ·
pub struct RawTga<'a> { /* private fields */ }
Expand description

Raw TGA image.

RawTga can be used to access lower level information about a TGA file and to access the raw pixel data. It can be created directly by using the from_slice constructor or accessed by calling as_raw method of a Tga object.

Implementations§

source§

impl<'a> RawTga<'a>

source

pub fn from_slice(data: &'a [u8]) -> Result<Self, ParseError>

Parse a TGA image from a byte slice.

source

pub fn size(&self) -> Size

Returns the dimensions of this image.

source

pub fn color_map(&self) -> Option<&ColorMap<'a>>

Returns the color map.

None is returned if the image contains no color map.

source

pub fn color_bpp(&self) -> Bpp

Returns the color bit depth (BPP) of this image.

This function always returns the bit depth of the decoded pixels, regardless of how they are stored in the TGA file. Use image_data_bpp to get the number of bits used to store one pixel in the image data.

source

pub fn image_origin(&self) -> ImageOrigin

Returns the image origin.

source

pub fn data_type(&self) -> DataType

Returns the data type.

source

pub fn compression(&self) -> Compression

Returns the compression type.

source

pub fn image_data(&self) -> &'a [u8]

Returns the raw image data contained in this image.

source

pub fn image_data_bpp(&self) -> Bpp

Returns the size of a single pixel in bits.

This function returns the number of bits used to store a single pixel in the image data.

For true color and grayscale images, where the colors are stored directly in the image data, the returned value will match the value returned by color_bpp.

For color mapped images, where the image data consists of color indices, the returned value describes the bit depth of the indices and may differ from the depth returned by color_bpp.

source

pub fn pixels(&self) -> RawPixels<'_>

Returns an iterator over the raw pixels in this image.

source

pub fn header(&self) -> TgaHeader

Returns the TGA header.

The returned object is a direct representation of the header contained in the TGA file. Most of the information contained in the header is also available using other methods, which are the preferred way of accessing them.

Performance

To save memory the header is parsed every time this method is called.

source

pub fn developer_directory(&self) -> Option<&'a [u8]>

Returns the developer directory.

Performance

To save memory the footer is parsed every time this method is called.

source

pub fn extension_area(&self) -> Option<&'a [u8]>

Returns the extension area.

Performance

To save memory the footer is parsed every time this method is called.

source

pub fn image_id(&self) -> Option<&'a [u8]>

Returns the content of the image ID.

If the TGA file doesn’t contain an image ID None is returned.

Performance

To save memory the header is parsed every time this method is called.

Trait Implementations§

source§

impl<'a> Clone for RawTga<'a>

source§

fn clone(&self) -> RawTga<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for RawTga<'a>

source§

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

Formats the value using the given formatter. Read more
source§

impl<'a> Hash for RawTga<'a>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<'a> Ord for RawTga<'a>

source§

fn cmp(&self, other: &RawTga<'a>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl<'a> PartialEq<RawTga<'a>> for RawTga<'a>

source§

fn eq(&self, other: &RawTga<'a>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> PartialOrd<RawTga<'a>> for RawTga<'a>

source§

fn partial_cmp(&self, other: &RawTga<'a>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<'a> Copy for RawTga<'a>

source§

impl<'a> Eq for RawTga<'a>

source§

impl<'a> StructuralEq for RawTga<'a>

source§

impl<'a> StructuralPartialEq for RawTga<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for RawTga<'a>

§

impl<'a> Send for RawTga<'a>

§

impl<'a> Sync for RawTga<'a>

§

impl<'a> Unpin for RawTga<'a>

§

impl<'a> UnwindSafe for RawTga<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dstwhere T: Cast<Dst>,

Casts the value.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dstwhere Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dstwhere T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dstwhere T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dstwhere T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.