TinyTGA

Build Status Crates.io Docs.rs

Documentation

A small TGA parser designed for embedded, no-std environments but usable anywhere. Beyond parsing the image header, no other allocations are made. A reference to the input image data is kept and slices are returned from it.

Call Tga.into_iter() to get an iterator over individual pixels in the image.

Example

```rust use tinytga::{ImageType, Tga, TgaFooter, TgaHeader};

// Include an image from a local path as bytes let data = includebytes!("../tests/chessboard4px_rle.tga");

// Create a TGA instance from a byte slice let img = Tga::from_slice(data).unwrap();

// Take a look at the header asserteq!( img.header, TgaHeader { idlen: 0, hascolormap: false, imagetype: ImageType::RleTruecolor, colormapstart: 0, colormaplen: 0, colormapdepth: 0, xorigin: 0, yorigin: 4, width: 4, height: 4, pixeldepth: 24, image_descriptor: 32, } );

// Take a look at the footer asserteq!( img.footer, Some(TgaFooter { extensionareaoffset: 0, developerdirectory_offset: 0 }) );

// Collect pixels into a Vec<u32> let pixels = img.into_iter().collect::>(); ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.