diff options
Diffstat (limited to 'src/env/image.rs')
| -rw-r--r-- | src/env/image.rs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/env/image.rs b/src/env/image.rs deleted file mode 100644 index 365ff312..00000000 --- a/src/env/image.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::fmt::{self, Debug, Formatter}; -use std::io::Cursor; - -use image::io::Reader as ImageReader; -use image::{DynamicImage, GenericImageView, ImageFormat}; - -/// A loaded image. -pub struct Image { - /// The original format the image was encoded in. - pub format: ImageFormat, - /// The decoded image. - pub buf: DynamicImage, -} - -impl Image { - /// Parse an image from raw data in a supported format. - /// - /// The image format is determined automatically. - pub fn parse(data: &[u8]) -> Option<Self> { - let cursor = Cursor::new(data); - let reader = ImageReader::new(cursor).with_guessed_format().ok()?; - let format = reader.format()?; - let buf = reader.decode().ok()?; - Some(Self { format, buf }) - } - - /// The width of the image. - pub fn width(&self) -> u32 { - self.buf.width() - } - - /// The height of the image. - pub fn height(&self) -> u32 { - self.buf.height() - } -} - -impl Debug for Image { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { - f.debug_struct("Image") - .field("format", &self.format) - .field("color", &self.buf.color()) - .field("width", &self.width()) - .field("height", &self.height()) - .finish() - } -} |
