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