save image frames now uses grid jpeg buffer

This commit is contained in:
peppidesu 2024-10-19 15:34:51 +02:00
parent e486bd121a
commit 0fd67e0c6e
No known key found for this signature in database
GPG key ID: 4E9BA776E329260F

View file

@ -10,7 +10,6 @@ use flurry::{
grid::{self, Flut}, grid::{self, Flut},
COUNTER, COUNTER,
}; };
use image::{codecs::jpeg::JpegEncoder, GenericImageView, SubImage};
use tokio::{ use tokio::{
net::TcpListener, net::TcpListener,
time::interval time::interval
@ -40,19 +39,11 @@ async fn save_image_frames(grids: Arc<[grid::Flut<u32>]>, duration: Duration) ->
loop { loop {
timer.tick().await; timer.tick().await;
for grid in grids.as_ref() { for grid in grids.as_ref() {
let p = base_dir.join(format!("{}", Local::now().format("%Y-%m-%d %H:%M:%S"))); let p = base_dir.join(format!("{}", Local::now().format("%Y-%m-%d_%H-%M-%S.jpg")));
debug_println!("timer ticked, grid writing to {:?}", p); debug_println!("timer ticked, grid writing to {:?}", p);
let mut file_writer = File::create(p)?; let mut file_writer = File::create(p)?;
let encoder = JpegEncoder::new_with_quality(&mut file_writer, 50); file_writer.write_all(&grid.read_jpg_buffer().await)?;
grid.view(0, 0, grid.width(), grid.height()).to_image();
let sub_image = SubImage::new(grid, 0, 0, grid.width(), grid.height());
let image = sub_image.to_image();
match image.write_with_encoder(encoder) {
Ok(_) => {}
Err(err) => eprintln!("{}", err),
}
} }
} }
} }