HTML5 canvas ctx.fillText不会换行

fillText()方法在画布上绘制填充的文本。如果要换行,可以通过在新行处分割文本并filltext()多次调用来实现。这样,您就可以将文本分成几行,并分别绘制每一行。

您可以尝试运行以下代码片段-

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

var str = 'first line \nsecond line...';
var a = 30;
var b = 30;
var lineheight = 15;
var lines = str.split('\n');

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;
}