Skip to main content

libeffectengine/effects/
bayer_2.rs

1use wasm_bindgen::prelude::*;
2
3use crate::effects::bayer::apply_diffusion_kernel;
4
5/// Applies Bayer dithering to a given image with the following 2x2 Bayer matrix:
6///
7/// ```
8/// | --- | --- |
9/// |  0  | 128 |
10/// | --- | --- |
11/// | 192 | 64  |
12/// | --- | --- |
13/// ```
14#[wasm_bindgen(js_name = bayer2)]
15pub fn effect() -> Vec<u8> {
16    let bayer_2_matrix: Vec<Vec<u8>> = vec![vec![0, 128], vec![192, 64]];
17
18    return apply_diffusion_kernel(
19        bayer_2_matrix.len(),
20        bayer_2_matrix.into_iter().flatten().collect::<Vec<u8>>(),
21    );
22}