1
0
Fork 0
mirror of https://github.com/1disk/edp445.git synced 2024-08-14 22:47:02 +00:00
edp445/node_modules/canvacord/libs/Greyscale.js
2022-12-03 05:44:44 +00:00

21 lines
No EOL
711 B
JavaScript

const Canvas = require("@napi-rs/canvas");
module.exports = async (img) => {
const image = await Canvas.loadImage(img);
const canvas = await Canvas.createCanvas(image.width, image.height);
const ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0);
const imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
for (let i = 0; i < imgData.data.length; i += 4) {
const brightness = 0.34 * imgData.data[i] + 0.5 * imgData.data[i + 1] + 0.16 * imgData.data[i + 2];
imgData.data[i] = brightness;
imgData.data[i + 1] = brightness;
imgData.data[i + 2] = brightness;
}
ctx.putImageData(imgData, 0, 0);
return canvas.encode("png");
};