1
0
Fork 0
mirror of https://github.com/1disk/edp445.git synced 2024-08-14 22:47:02 +00:00

Changed alot of things.

This commit is contained in:
koelo 2022-12-03 05:44:44 +00:00
parent a5a0523e5a
commit 3513d5390c
2016 changed files with 336930 additions and 9 deletions

20
node_modules/canvacord/libs/Brightness.js generated vendored Normal file
View file

@ -0,0 +1,20 @@
const Canvas = require("@napi-rs/canvas");
module.exports = async (img, amount) => {
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) {
imgData.data[i] += amount;
imgData.data[i + 1] += amount;
imgData.data[i + 2] += amount;
}
ctx.putImageData(imgData, 0, 0);
return canvas.encode("png");
};

16
node_modules/canvacord/libs/Convolute.js generated vendored Normal file
View file

@ -0,0 +1,16 @@
const Canvas = require("@napi-rs/canvas");
const convolute = require("../plugins/convolute");
module.exports = async (img, matrix, opaque, lvl) => {
if (isNaN(lvl)) lvl = 1;
const image = await Canvas.loadImage(img);
const canvas = Canvas.createCanvas(image.width, image.height);
const ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0);
for (let i = 0; i < lvl; i++) {
convolute(ctx, canvas, matrix, opaque);
}
return canvas.encode("png");
};

20
node_modules/canvacord/libs/Darkness.js generated vendored Normal file
View file

@ -0,0 +1,20 @@
const Canvas = require("@napi-rs/canvas");
module.exports = async (img, amount) => {
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) {
imgData.data[i] -= amount;
imgData.data[i + 1] -= amount;
imgData.data[i + 2] -= amount;
}
ctx.putImageData(imgData, 0, 0);
return canvas.encode("png");
};

21
node_modules/canvacord/libs/Greyscale.js generated vendored Normal file
View file

@ -0,0 +1,21 @@
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");
};

21
node_modules/canvacord/libs/Invert.js generated vendored Normal file
View file

@ -0,0 +1,21 @@
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) {
imgData.data[i] = 255 - imgData.data[i];
imgData.data[i + 1] = 255 - imgData.data[i + 1];
imgData.data[i + 2] = 255 - imgData.data[i + 2];
imgData.data[i + 3] = 255;
}
ctx.putImageData(imgData, 0, 0);
return canvas.encode("png");
};

20
node_modules/canvacord/libs/Sepia.js generated vendored Normal file
View file

@ -0,0 +1,20 @@
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) {
imgData.data[i] = imgData.data[i] * 0.393 + imgData.data[i + 1] * 0.769 + imgData.data[i + 2] * 0.189;
imgData.data[i + 1] = imgData.data[i] * 0.349 + imgData.data[i + 1] * 0.686 + imgData.data[i + 2] * 0.168;
imgData.data[i + 2] = imgData.data[i] * 0.272 + imgData.data[i + 1] * 0.534 + imgData.data[i + 2] * 0.131;
}
ctx.putImageData(imgData, 0, 0);
return canvas.encode("png");
}

22
node_modules/canvacord/libs/Threshold.js generated vendored Normal file
View file

@ -0,0 +1,22 @@
const Canvas = require("@napi-rs/canvas");
module.exports = async (img, amount = 50) => {
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) {
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.encode("png");
};

50
node_modules/canvacord/libs/Trigger.js generated vendored Normal file
View file

@ -0,0 +1,50 @@
const Canvas = require("@napi-rs/canvas");
const { GifEncoder } = require("@skyra/gifenc");
module.exports = async (image, TRIGGERED) => {
const base = await Canvas.loadImage(TRIGGERED);
const img = await Canvas.loadImage(image);
const GIF = new GifEncoder(256, 310);
const stream = GIF.createReadStream();
GIF.start();
GIF.setRepeat(0);
GIF.setDelay(15);
const canvas = Canvas.createCanvas(256, 310);
const ctx = canvas.getContext("2d");
const BR = 30;
const LR = 20;
let i = 0;
while (i < 9) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(
img,
Math.floor(Math.random() * BR) - BR,
Math.floor(Math.random() * BR) - BR,
256 + BR,
310 - 54 + BR
);
ctx.drawImage(
base,
Math.floor(Math.random() * LR) - LR,
310 - 54 + Math.floor(Math.random() * LR) - LR,
256 + LR,
54 + LR
);
// ctx.fillStyle = "#FF000011";
// ctx.fillRect(0, 0, 256, 310);
GIF.addFrame(ctx);
i++;
}
GIF.finish();
return streamToBuffer(stream);
};
function streamToBuffer(stream) {
return new Promise((resolve, reject) => {
const data = [];
stream.on("data", c => data.push(c));
stream.on("end", () => resolve(Buffer.concat(data)));
stream.on("error", reject);
})
}