mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-07 23:05:04 +02:00
Improve Illegal text wrapping
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { createCanvas, loadImage, registerFont } = require('canvas');
|
||||
const { drawText } = require('node-canvas-text');
|
||||
const GIFEncoder = require('gifencoder');
|
||||
const opentype = require('opentype.js');
|
||||
const path = require('path');
|
||||
const { streamToArray } = require('../../util/Util');
|
||||
const frames = require('../../assets/json/illegal');
|
||||
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Impact.ttf'), { family: 'Impact' });
|
||||
const impactFont = opentype.loadSync(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Impact.ttf'));
|
||||
|
||||
module.exports = class IllegalCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -13,7 +16,7 @@ module.exports = class IllegalCommand extends Command {
|
||||
aliases: ['is-now-illegal', 'trump'],
|
||||
group: 'edit-meme',
|
||||
memberName: 'illegal',
|
||||
description: 'Makes President Trump make your text illegal.',
|
||||
description: 'Makes Donald Trump make your text illegal.',
|
||||
throttling: {
|
||||
usages: 1,
|
||||
duration: 30
|
||||
@@ -76,8 +79,19 @@ module.exports = class IllegalCommand extends Command {
|
||||
}
|
||||
ctx.textBaseline = 'top';
|
||||
ctx.font = '20px Impact';
|
||||
const maxLen = frame.corners[1][0] - frame.corners[0][0];
|
||||
ctx.fillText(`${text}\n${verb} NOW\nILLEGAL`, frame.corners[0][0], frame.corners[0][1], maxLen);
|
||||
const rect = {
|
||||
x: frame.corners[0][0],
|
||||
y: frame.corners[1][0],
|
||||
width: frame.corners[0][0],
|
||||
height: frame.corners[0][1]
|
||||
};
|
||||
drawText(ctx, `${text}\n${verb} NOW\nILLEGAL`, impactFont, rect, {
|
||||
minSize: 5,
|
||||
maxSize: 20,
|
||||
hAlign: 'center',
|
||||
wAlign: 'center',
|
||||
textPadding: 5
|
||||
});
|
||||
encoder.addFrame(ctx);
|
||||
}
|
||||
encoder.finish();
|
||||
|
||||
Reference in New Issue
Block a user