【问题标题】:(Canvas | Discord.js) I'm trying to set a background using `ctx.drawImage(background, 0, 0, canvas.width, canvas.height)` but the command doesn't work(Canvas | Discord.js) 我正在尝试使用 `ctx.drawImage(background, 0, 0, canvas.width, canvas.height)` 设置背景,但该命令不起作用
【发布时间】:2020-10-25 03:22:39
【问题描述】:

如果我只使用此代码,则该命令有效:

const background = await Canvas.loadImage('./silver.jpg');

但我的图片需要多个背景。然后,我写了这段代码,但没有工作:

let backgr;

if (json.items[0].rating < 65) backgr = './bronze.jpg';
else if (json.items[0].rating > 65 && json.items[0].rating < 74) backgr = './silver.jpg';
else if (json.items[0].rating > 75 && json.items[0].rating < 74) backgr = './gold.jpg';

const background = await Canvas.loadImage(backgr);

我在控制台或 Discord 上没有收到任何错误。

【问题讨论】:

    标签: javascript canvas discord.js


    【解决方案1】:

    您应该在加载之前记录 backgr 是什么,这样您就可以看到结果是什么,可能是空白的。

    无论如何,我认为错误在条件句中,您使用的是 &gt;&lt;,但从不检查是否相等,如下所示:

    if(rating < 65) ...
    else if (rating > 65 && rating < 74) ...
    

    如果评分 === 65 会怎样?它会跳过这两个语句,以及第三个语句

    let backgr;
    const rating = json.items[0].rating;
    
    if (rating < 65) {
       backgr = './bronze.jpg';
    } else if (rating < 74) {
       backgr = './silver.jpg';
    } else {
       backgr = './gold.jpg';
    }
    
    const background = await Canvas.loadImage(backgr);
    

    【讨论】:

    • 谢谢。我再次检查了代码并修复了一些错误(例如... 75 &amp;&amp; json.items[0].rating &lt; 74(因为那是错误的)),然后我添加了您的提示!
    猜你喜欢
    • 2021-09-07
    • 2023-01-23
    • 1970-01-01
    • 2019-10-12
    • 2018-12-24
    • 2020-09-16
    • 2021-05-18
    • 2014-04-05
    • 1970-01-01
    相关资源
    最近更新 更多