use embedded_graphics::prelude::*; use tinytga::{Bpp, Compression, DataType, ImageOrigin, RawTga, TgaHeader}; #[test] fn coordinates() { let data = include_bytes!("./chessboard_4px_raw.tga"); let img = RawTga::from_slice(data).unwrap(); println!("{:#?}", img.header()); println!("Raw image data len {:#?}", img.image_data().len()); println!("Raw image data {:#?}", img.image_data()); assert_eq!( img.header(), TgaHeader { id_len: 0, has_color_map: false, data_type: DataType::TrueColor, compression: Compression::Uncompressed, color_map_start: 0, color_map_len: 0, color_map_depth: None, x_origin: 0, y_origin: 4, width: 4, height: 4, pixel_depth: Bpp::Bits24, image_origin: ImageOrigin::TopLeft, alpha_channel_depth: 0, } ); assert_eq!(img.extension_area(), None); assert_eq!(img.developer_directory(), None); let coords: Vec<_> = img.pixels().map(|p| p.position).collect(); assert_eq!(coords.len(), 4 * 4); assert_eq!( coords, vec![ Point::new(0, 0), Point::new(1, 0), Point::new(2, 0), Point::new(3, 0), Point::new(0, 1), Point::new(1, 1), Point::new(2, 1), Point::new(3, 1), Point::new(0, 2), Point::new(1, 2), Point::new(2, 2), Point::new(3, 2), Point::new(0, 3), Point::new(1, 3), Point::new(2, 3), Point::new(3, 3), ] ); }