captcha/filters/
grid.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use filters::Filter;
use images::{Image, Pixl};

pub struct Grid {
    y_gap: u32,
    x_gap: u32,
}

impl Grid {
    pub fn new(x_gap: u32, y_gap: u32) -> Grid {
        Grid { x_gap, y_gap }
    }
}

impl Filter for Grid {
    fn apply(&self, i: &mut Image) {
        for y in (0..i.height()).filter(|i| i % self.y_gap == 0) {
            for x in 0..i.width() {
                i.put_pixel(x, y, Pixl::black());
            }
        }
        for x in (0..i.width()).filter(|i| i % self.x_gap == 0) {
            for y in 0..i.height() {
                i.put_pixel(x, y, Pixl::black());
            }
        }
    }
}