DOCS WIP

Canvacord

Easily generate images on-the-fly with node.js using wide range of templates.

Get started

Install canvacord using npm:

npm i --save canvacord@beta

Example

Image Generation

Using built-in templates (New "Legacy api")

import { canvacord } from 'canvacord';
import fs from 'node:fs';

// triggered gif
const triggered = await canvacord.triggered(image);
triggered.pipe(fs.createWriteStream('triggered.gif'));

// image generation
const beautiful = await canvacord.beautiful(img);
const facepalm = await canvacord.facepalm(img);

// filters
const filtered = await canvacord
    .filters(512, 512)
    .drawImage(image)
    .hueRotate(90)
    .invert(2)
    .sepia(1)
    .opacity(0.5)
    .saturate(2)
    .encode();

// alternative syntax
const filtered = await canvacord(image, 512, 512)
    .hueRotate(90)
    .invert(2)
    .sepia(1)
    .opacity(0.5)
    .saturate(2)
    .encode();

fs.writeFileSync('filtered.png', filtered);

New XP Card

import { Font, RankCardBuilder } from 'canvacord';
import { writeFile } from 'fs/promises';

// load default font
Font.loadDefault();

const card = new RankCardBuilder()
  .setUsername('Lost Ctrl')
  .setDisplayName('thearchaeopteryx')
  .setAvatar('...')
  .setCurrentXP(3800)
  .setRequiredXP(2500)
  .setLevel(54)
  .setRank(32)
  .setStatus('online');

const image = await card.build({
  format: 'png'
});

await writeFileSync('./card.png', data);
xp-card