You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Canvas的fillText方法无法生效,文本无法显示问题求助

问题诊断与修复

嘿,我一眼就揪出问题所在啦!你的文本没显示的核心原因是调用fillText的方式完全错了——你把它当成属性去赋值,但它其实是Canvas 2D上下文的一个方法,得用函数调用的语法才行!

错误代码行

你写的这行是赋值操作,根本不是调用绘制文本的方法:

scaleCtx.fillText = ('00:00', 100, 50);

修复方式

把多余的等号去掉,改成标准的函数调用形式:

scaleCtx.fillText('00:00', 100, 50);

完整修正后的代码

<canvas id="scaleChart" width="1500" height="500"></canvas>
<script>
var scaleCtx = document.getElementById("scaleChart").getContext("2d");
scaleCtx.fillStyle = 'rgba(40, 220, 140, 1)';
scaleCtx.fillRect(0, 0, 800, 200);
scaleCtx.fillStyle = 'Black';
scaleCtx.font = '20px Calibri';
// 修正后的方法调用
scaleCtx.fillText('00:00', 100, 50);
</script>

补充说明

Canvas 2D上下文的fillText()是专门用来绘制文本的方法,它需要接收三个必填参数:要绘制的文本内容、X轴坐标、Y轴坐标。你之前的赋值操作,相当于把这个方法覆盖成了一个普通值(因为逗号运算符的存在,实际赋值的是最后一个参数50),自然不会执行绘制文本的逻辑啦。

内容的提问来源于stack exchange,提问作者Sushovan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:53:20