rusty_vision/io/
writer.rs

1use std::{
2    fs::File,
3    io::{BufWriter, Write},
4};
5
6use crate::{codec::encoders::Encoder, codec::Codex, error, image::Image};
7
8pub trait Writer {
9    fn write(&self, path: String, codec: Codex) -> Result<(), error::Error>;
10}
11
12impl Writer for Image {
13    fn write(&self, path: String, codec: Codex) -> Result<(), error::Error> {
14        let data = self.encode(codec)?;
15        let file = File::create(path).unwrap();
16        let mut writer = BufWriter::new(file);
17        writer.write_all(&data)?;
18
19        Ok(())
20    }
21}