From 9157fa8b4973a6c303ce5cdc45fecada8b743b1c Mon Sep 17 00:00:00 2001 From: loicbersier Date: Sun, 14 Oct 2018 18:40:40 +0200 Subject: [PATCH] --- commands/fun/idubbbz.js | 5 +---- commands/fun/painting.js | 38 +++++++++++++++++++++++++++----------- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/commands/fun/idubbbz.js b/commands/fun/idubbbz.js index 190538c4..3e835561 100644 --- a/commands/fun/idubbbz.js +++ b/commands/fun/idubbbz.js @@ -54,13 +54,10 @@ module.exports = class idubbbzCommand extends Command { const bg = await loadImage(buffer); ctx.drawImage(bg, 0, 0, canvas.width, canvas.height); ctx.font = applyText(canvas, test) - //ctx.font = '40px sans-serif'; - // Select the style that will be used to fill the text in ctx.fillStyle = '#000000'; - // Actually fill the text with a solid color ctx.fillText(test, canvas.width / 2.1, canvas.height / 1.5); - const attachment = new Discord.Attachment(canvas.toBuffer(), 'test.png'); + const attachment = new Discord.Attachment(canvas.toBuffer(), 'edups.png'); message.say(attachment); diff --git a/commands/fun/painting.js b/commands/fun/painting.js index 747bb05f..be1ee110 100644 --- a/commands/fun/painting.js +++ b/commands/fun/painting.js @@ -12,6 +12,14 @@ module.exports = class idubbbzCommand extends Command { group: 'fun', memberName: 'painting', description: `Put the text you send in idubbbz piece of paper`, + args: [ + { + key: 'test', + prompt: 'What do you the paper to say?', + type: 'string', + default: 'Perfection' + } + ] }); } @@ -24,24 +32,32 @@ module.exports = class idubbbzCommand extends Command { image = Attachment[0].url const canvas = createCanvas(1024, 544) + const applyText = (canvas, text) => { + const ctx = canvas.getContext('2d'); + + // Declare a base size of the font + let fontSize = 100; + + do { + // Assign the font to the context and decrement it so it can be measured again + ctx.font = `${fontSize -= 10}px sans-serif`; + } while (ctx.measureText(text).width > 800 - 300); + + // Return the result to use in the actual canvas + return ctx.font; + }; const ctx = canvas.getContext('2d') const background = await loadImage(image); ctx.drawImage(background, 140, 30, 400, 400); - const { body: buffer } = await superagent.get('https://image.noelshack.com/fichiers/2018/41/7/1539534719-untitled.png'); + const { body: buffer } = await superagent.get('https://image.noelshack.com/fichiers/2018/41/7/1539533685-untitled.png'); const bg = await loadImage(buffer); ctx.drawImage(bg, 0, 0, canvas.width, canvas.height); + ctx.font = applyText(canvas, test) + ctx.fillStyle = '#ffffff'; + ctx.fillText(test, canvas.width / 3, canvas.height / 1.1); - // i keep this here in case i want to add text( i'il delete later if i dont need ) - - //ctx.font = applyText(canvas, test) - //ctx.font = '40px sans-serif'; - // Select the style that will be used to fill the text in - //ctx.fillStyle = '#000000'; - // Actually fill the text with a solid color - //ctx.fillText(test, canvas.width / 2.1, canvas.height / 1.5); - - const attachment = new Discord.Attachment(canvas.toBuffer(), 'test.png'); + const attachment = new Discord.Attachment(canvas.toBuffer(), 'edupspaint.png'); message.say(attachment);