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
相关产品推荐
相关产品推荐

