eatdrywallbot/main.js
2025-04-08 20:33:58 -04:00

32 lines
749 B
JavaScript

const jimp = require("jimp");
const fs = require("fs");
let config = JSON.parse(fs.readFileSync("./config.jsonc"));
const photoInterval = config.photoInterval;
const targetColor = config.targetColor;
const tolerance = config.tolerance;
function rasterize(x, y, width){ //scale to image
return (x + y * width);
}
function deRasterize(i, width){
return ({
y: Math.floor(i/width),
x: i % width
});
}
function compareColors(c1,c2){ //compare two rgba color structs
//general basic distance nothing too special
let sum1 = c1.r + c1.g + c1.b + c1.a;
let sum2 = c2.r + c2.g + c2.b + c2.a;
if (Math.abs(sum1-sum2) < (tolerance*4)) {
return true;
} else return false;
}