mindustry logic execution, map- and schematic- parsing and rendering
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use image::{Rgb, Rgba, RgbaImage};

pub fn tint(image: &mut RgbaImage, color: Rgb<u8>) {
    let [tr, tg, tb] = [
        color[0] as f32 / 255.0,
        color[1] as f32 / 255.0,
        color[2] as f32 / 255.0,
    ];
    for Rgba([r, g, b, _]) in image.pixels_mut() {
        *r = (*r as f32 * tr) as u8;
        *g = (*g as f32 * tg) as u8;
        *b = (*b as f32 * tb) as u8;
    }
}