UNPKG

multi-djs

Version:

A npm of image manipulation, gif catcher and functions

22 lines (18 loc) 840 B
module.exports = async (image, amount) => { if (!image) throw new Error("Parâmetro <image> não definido!"); const Canvas = require("canvas"); const img = await Canvas.loadImage(image); const canvas = await Canvas.createCanvas(img.width, img.height); const ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0); const imgData = ctx.getImageData(0, 0, canvas.width, canvas.height); for (let i = 0; i < imgData.data.length; i += 4) { var r = imgData.data[i]; var g = imgData.data[i + 1]; var b = imgData.data[i + 2]; var v = (0.2126 * r + 0.7152 * g + 0.0722 * b >= amount) ? 255 : 0; imgData.data[i] = imgData.data[i + 1] = imgData.data[i + 2] = v } ctx.putImageData(imgData, 0, 0); return canvas.toBuffer(); }