rgb/
rgb.rs

1use fltk::{enums::ColorDepth, prelude::*, *};
2
3fn main() {
4    let app = app::App::default();
5    let mut wind = window::Window::default().with_size(400, 400);
6    let mut frame = frame::Frame::default_fill();
7    wind.make_resizable(true);
8    wind.end();
9    wind.show();
10    frame.draw(move |f| {
11        let mut fb: Vec<u8> = vec![0u8; (f.w() * f.h() * 4) as usize];
12        for (iter, pixel) in fb.chunks_exact_mut(4).enumerate() {
13            let x = iter % f.w() as usize;
14            let y = iter / f.w() as usize;
15            let (red, green, blue) = utils::hex2rgb((x ^ y) as u32);
16            pixel.copy_from_slice(&[red, green, blue, 255]);
17        }
18        let mut image = image::RgbImage::new(&fb, f.w(), f.h(), ColorDepth::Rgba8)
19            .unwrap()
20            .to_srgb_image()
21            .unwrap()
22            .blur(50)
23            .unwrap()
24            .convert(ColorDepth::Rgb8)
25            .unwrap();
26        image.draw(f.x(), f.y(), f.w(), f.h());
27    });
28
29    app.run().unwrap();
30}