Discord.js 如何向节点画布中的图像添加文本?

Discord.js 如何向节点画布中的图像添加文本?,discord.js,image-manipulation,Discord.js,Image Manipulation,因此,我一直在查找discord.js文档,并试图制作一张带有图像处理的个人资料卡,但出于某种原因,文本显示为小方框。代码如下: if (message.content === `-profile`) {\ const Canvas = require(`canvas`); const canvas = Canvas.createCanvas(700, 250); const ctx = canvas.getContext('2d')

因此,我一直在查找discord.js文档,并试图制作一张带有图像处理的个人资料卡,但出于某种原因,文本显示为小方框。代码如下:


      if (message.content === `-profile`) {\
        const Canvas = require(`canvas`);
        const canvas = Canvas.createCanvas(700, 250);
        const ctx = canvas.getContext('2d');

        const background = await Canvas.loadImage('./image.png');
        ctx.drawImage(background, 0, 0, canvas.width, canvas.height);

        ctx.strokeStyle = '#74037b';
        ctx.strokeRect(0, 0, canvas.width, canvas.height);

        ctx.font = '100px sans-serif';
        // Select the style that will be used to fill the text in
        ctx.fillStyle = '#34ebc9';
        // Actually fill the text with a solid color
        ctx.fillText(message.author.displayName, canvas.width / 2.5, canvas.height / 1.8);

        ctx.beginPath();
        ctx.arc(125, 125, 100, 0, Math.PI * 2, true);
        ctx.closePath();
        ctx.clip();

        const avatar = await Canvas.loadImage(message.author.displayAvatarURL({ format: 'jpg' }));
        ctx.drawImage(avatar, 25, 25, 200, 200);

        const attachment = new Discord.MessageAttachment(canvas.toBuffer(), 'welcome-image.png');

        message.channel.send(`Your profile, ${message.author}!`, attachment);
    }

图片显示,我的个人资料图片显示和一切,但由于某种原因,文本要么不显示,要么是所有的混乱。请提供帮助。

您的设备可能没有Canvas正在查找的任何默认文件。您需要自己手动安装这些字体,您可以从中获得一些

将您安装的字体导入到文件中,并用于注册和使用字体

//Assume you imported your font in your main folder
const { registerFont, createCanvas } = require('canvas')
registerFont('./comicsans.ttf', { family: 'Comic Sans' })

const canvas = createCanvas(500, 500)
const ctx = canvas.getContext('2d')

ctx.font = '12px "Comic Sans"'
ctx.fillText('Everyone hates this font :(', 250, 10)

控制台中有错误吗?失败映像的示例?是,我得到
Fontconfig错误:无法加载默认配置文件
。请确保代码正在查找正确的文件。似乎无法加载配置文件