A small BMP 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.
```rust use tinybmp::{Bmp, FileType, Header};
fn main() { let bmp = Bmp::fromslice(includebytes!("../tests/chessboard-8px-24bit.bmp")).expect("Failed to parse");
assert_eq!(
bmp.header,
Header {
file_type: FileType::BM,
file_size: 314,
reserved_1: 0,
reserved_2: 0,
image_data_start: 122,
bpp: 24,
image_width: 8,
image_height: 8,
image_data_len: 192
}
);
let image_data: &[u8] = bmp.image_data();
// Render, process or iterate on `image_data` here
} ```
Licensed under either of
at your option.
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.