@canvacord/beta
Version:
Simple & easy to use image manipulation module for beginners.
344 lines (343 loc) • 17.1 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CanvacordImgen = void 0;
const canvas_1 = require("@napi-rs/canvas");
const gifencoder_1 = __importDefault(require("gifencoder"));
const Util_1 = require("../Utils/Util");
const Photoshop_1 = require("../editor/Photoshop");
/**
* Housing for memes
*/
class CanvacordImgen {
constructor() {
throw new Error('Cannot instantiate static class');
}
static trigger(img) {
return __awaiter(this, void 0, void 0, function* () {
const base = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('TRIGGERED'));
const image = yield Util_1.Util.loadImage(img);
const GIF = new gifencoder_1.default(256, 310);
GIF.start();
GIF.setRepeat(0);
GIF.setDelay(15);
const canvas = canvas_1.createCanvas(256, 310);
const ctx = canvas.getContext('2d');
const BR = 30;
const LR = 20;
let i = 0;
while (i < 9) {
ctx.clearRect(0, 0, 256, 310);
ctx.drawImage(image, Math.floor(Math.random() * BR) - BR, Math.floor(Math.random() * BR) - BR, 256 + BR, 310 - 54 + BR);
ctx.save();
ctx.fillStyle = '#FF000033';
ctx.fillRect(0, 0, 256, 310);
ctx.restore();
ctx.drawImage(base, Math.floor(Math.random() * LR) - LR, 310 - 54 + Math.floor(Math.random() * LR) - LR, 256 + LR, 54 + LR);
// @ts-ignore
GIF.addFrame(ctx);
i++;
}
GIF.finish();
return GIF.out.getData();
});
}
static triggered(img) {
return __awaiter(this, void 0, void 0, function* () {
return this.trigger(img);
});
}
static kiss(image1, image2) {
return __awaiter(this, void 0, void 0, function* () {
if (!image1)
throw new Error('First image was not provided!');
if (!image2)
throw new Error('Second image was not provided!');
const canvas = canvas_1.createCanvas(768, 574);
const ctx = canvas.getContext('2d');
const background = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('KISS'));
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
const avatar = yield Util_1.Util.loadImage(image1);
const avatar1 = yield Util_1.Util.loadImage(image2);
ctx.drawImage(avatar1, 370, 25, 200, 200);
ctx.drawImage(avatar, 150, 25, 200, 200);
return yield canvas.png();
});
}
static spank(image1, image2) {
return __awaiter(this, void 0, void 0, function* () {
if (!image1)
throw new Error('First image was not provided!');
if (!image2)
throw new Error('Second image was not provided!');
const canvas = canvas_1.createCanvas(500, 500);
const ctx = canvas.getContext('2d');
const background = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('SPANK'));
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
const avatar = yield Util_1.Util.loadImage(image1);
const avatar1 = yield Util_1.Util.loadImage(image2);
ctx.drawImage(avatar1, 350, 220, 120, 120);
ctx.drawImage(avatar, 225, 5, 140, 140);
return yield canvas.png();
});
}
static slap(image1, image2) {
return __awaiter(this, void 0, void 0, function* () {
if (!image1)
throw new Error('First image was not provided!');
if (!image2)
throw new Error('Second image was not provided!');
const canvas = canvas_1.createCanvas(1000, 500);
const ctx = canvas.getContext('2d');
const background = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('BATSLAP'));
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
const avatar = yield Util_1.Util.loadImage(image1);
const avatar1 = yield Util_1.Util.loadImage(image2);
ctx.drawImage(avatar1, 580, 260, 200, 200);
ctx.drawImage(avatar, 350, 70, 220, 220);
return yield canvas.png();
});
}
static beautiful(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('Image was not provided!');
const img = yield Util_1.Util.loadImage(image);
const base = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('BEAUTIFUL'));
const canvas = canvas_1.createCanvas(376, 400);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 258, 28, 84, 95);
ctx.drawImage(img, 258, 229, 84, 95);
return yield canvas.png();
});
}
static facepalm(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
let layer = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('FACEPALM'));
let canvas = canvas_1.createCanvas(632, 357);
let ctx = canvas.getContext('2d');
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, 632, 357);
let avatar = yield Util_1.Util.loadImage(image);
ctx.drawImage(avatar, 199, 112, 235, 235);
ctx.drawImage(layer, 0, 0, 632, 357);
return yield canvas.png();
});
}
static rainbow(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
let bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('GAY'));
let img = yield Util_1.Util.loadImage(image);
const canvas = canvas_1.createCanvas(img.width, img.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
return yield canvas.png();
});
}
static rip(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('Image was not provided!');
const img = yield Util_1.Util.loadImage(image);
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('RIP'));
const canvas = canvas_1.createCanvas(244, 253);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 63, 110, 90, 90);
return yield canvas.png();
});
}
static trash(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('Image was not provided!');
const blur = yield Photoshop_1.Photoshop.blur(image, 3);
const img = yield Util_1.Util.loadImage(blur);
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('TRASH'));
const canvas = canvas_1.createCanvas(bg.width, bg.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0);
ctx.drawImage(img, 309, 0, 309, 309);
return yield canvas.png();
});
}
static hitler(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(image);
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('HITLER'));
const canvas = canvas_1.createCanvas(bg.width, bg.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0);
ctx.drawImage(img, 46, 43, 140, 140);
return yield canvas.png();
});
}
static jokeOverHead(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('Image wasn ot provided!');
const layer = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('JOKEOVERHEAD'));
const img = yield Util_1.Util.loadImage(image);
const canvas = canvas_1.createCanvas(425, 404);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, 425, 404);
ctx.drawImage(img, 125, 130, 140, 135);
ctx.drawImage(layer, 0, 0, 425, 404);
return yield canvas.png();
});
}
static distracted(image1, image2, image3 = null) {
return __awaiter(this, void 0, void 0, function* () {
if (!image1)
throw new Error('First image was not provided!');
if (!image2)
throw new Error('Second image was not provided!');
const background = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('DISTRACTED'));
const avatar1 = yield Util_1.Util.loadImage(yield Photoshop_1.Photoshop.circle(image1));
const avatar2 = yield Util_1.Util.loadImage(yield Photoshop_1.Photoshop.circle(image2));
const avatar3 = image3 ? yield Util_1.Util.loadImage(yield Photoshop_1.Photoshop.circle(image3)) : null;
const canvas = canvas_1.createCanvas(background.width, background.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
ctx.drawImage(avatar1, 180, 90, 150, 150);
ctx.drawImage(avatar2, 480, 35, 130, 130);
if (avatar3)
ctx.drawImage(avatar3, 730, 110, 130, 130);
return yield canvas.png();
});
}
static affect(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(image);
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('AFFECT'));
const canvas = canvas_1.createCanvas(bg.width, bg.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0);
ctx.drawImage(img, 180, 383, 200, 157);
return yield canvas.png();
});
}
static jail(image, greyscale = false) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(greyscale ? yield Photoshop_1.Photoshop.greyscale(image) : image);
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('JAIL'));
const canvas = canvas_1.createCanvas(350, 350);
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
return yield canvas.png();
});
}
static bed(image1, image2) {
return __awaiter(this, void 0, void 0, function* () {
if (!image1)
throw new Error('First image was not provided!');
if (!image2)
throw new Error('Second image was not provided!');
const avatar = yield Util_1.Util.loadImage(image1);
const avatar1 = yield Util_1.Util.loadImage(image2);
const background = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('BED'));
const canvas = canvas_1.createCanvas(background.width, background.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
ctx.drawImage(avatar, 25, 100, 100, 100);
ctx.drawImage(avatar, 25, 300, 100, 100);
ctx.drawImage(avatar, 53, 450, 70, 70);
ctx.drawImage(avatar1, 53, 575, 100, 100);
return yield canvas.png();
});
}
static delete(image, dark = false) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(image);
const bg = yield Util_1.Util.loadImage(dark ? yield Photoshop_1.Photoshop.invert(yield Util_1.Util.assets.image('DELETE')) : yield Util_1.Util.assets.image('DELETE'));
const canvas = canvas_1.createCanvas(bg.width, bg.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 120, 135, 195, 195);
return yield canvas.png();
});
}
static wanted(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(image);
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('WANTED'));
const canvas = canvas_1.createCanvas(bg.width, bg.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 145, 282, 447, 447);
return yield canvas.png();
});
}
static wasted(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(yield Photoshop_1.Photoshop.greyscale(image));
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('WASTED'));
const canvas = canvas_1.createCanvas(512, 512);
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
return yield canvas.png();
});
}
static shit(image) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
const img = yield Util_1.Util.loadImage(yield Photoshop_1.Photoshop.circle(image));
const bg = yield Util_1.Util.loadImage(yield Util_1.Util.assets.image('SHIT'));
const canvas = canvas_1.createCanvas(bg.width, bg.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 210, 700, 170, 170);
return yield canvas.png();
});
}
static convolute(image, matrix, opaque, times) {
return __awaiter(this, void 0, void 0, function* () {
if (!image)
throw new Error('image was not provided!');
if (typeof times !== 'number' || times <= 0 || times >= Infinity)
times = 1;
const img = yield Util_1.Util.loadImage(image);
const canvas = canvas_1.createCanvas(img.width, img.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
for (let i = 0; i < times; i++) {
yield Photoshop_1.Photoshop.convolute(ctx, canvas, matrix, Boolean(opaque));
}
return yield canvas.png();
});
}
}
exports.CanvacordImgen = CanvacordImgen;