UNPKG

@canvacord/beta

Version:

Simple & easy to use image manipulation module for beginners.

344 lines (343 loc) 17.1 kB
"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;