HTML5 画布 ctx.fillText 不会换行


fillText() 方法在 canvas 中绘制 已填充文本。如果希望换行,可以通过在新行中拆分文本,并多次调用 fillText() 方法来实现。方法执行过程中,文本被分拆为若干行,而后逐行绘制。

你可以尝试运行以下代码片段示例:

var c = $('#c')[0].getContext('2d');
c.font = '12px Courier';
alert(c);

var str = 'first line 
second line...'; var a = 30; var b = 30; var lineheight = 15; var lines = str.split('
'); for (var j = 0; j<lines.length; j++) c.fillText(lines[j], a, b + (j*lineheight) );
// for canvas
<canvas id="c" width="200" height="200"></canvas>

// CSS

canvas {
   background-color: #FFCE9E;
}

更新时间: 09-09-2023

2K+ 观看次数

开创你的 职业

完成课程以获取认证

开始学习
广告