From 7bf1618646e84951814dfc2c43ec2af42d410504 Mon Sep 17 00:00:00 2001 From: conglinyizhi Date: Sat, 7 Dec 2024 09:55:09 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(main):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=9B=BE=E5=83=8F=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 58113d3..937f620 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ use fltk::{ app::App, enums::ColorDepth, frame::Frame, + image::RgbImage, prelude::{GroupExt, WidgetBase, WidgetExt}, window::Window, }; @@ -32,6 +33,8 @@ fn main() { eprint!("Open Camera Error:{}", e) } } + let mut w = 0 as i32; + let mut h = 0 as i32; if camera_open { loop { // 捕获一帧图像 @@ -39,14 +42,12 @@ fn main() { Ok(data) => { let img = image::load_from_memory(&data).unwrap(); let rgb_data = img.to_rgb8(); - - let fltk_image = fltk::image::RgbImage::new( - &rgb_data.as_raw(), - rgb_data.width() as i32, - rgb_data.height() as i32, - ColorDepth::Rgb8, - ) - .unwrap(); + if w == 0 { + w = rgb_data.width() as i32; + h = rgb_data.height() as i32; + } + let fltk_image = + RgbImage::new(&rgb_data.as_raw(), w, h, ColorDepth::Rgb8).unwrap(); frame.set_image(Some(fltk_image)); frame.redraw(); }