canvas中的文本由用户输入,因此需要把一堆文字进行换行。当用户按下回车键进行换行时,也得将换行信息绘制出来。
drawText:function(ctx,item,initHeight,titleHeight){
console.log('传入的initHeight is '+initHeight);
console.log('传入的titleHeight is ' + titleHeight);
var lineWidth = 0;
//每次开始截取的字符串的索引
var lastSubStrIndex = 0;
for (var i = 0; i < item.length; i++) {
lineWidth += ctx.measureText(item[i]).width;
if (lineWidth > 315) {
//绘制截取部分
ctx.fillText(item.substring(lastSubStrIndex, i), 30, initHeight);
//14为字体的高度
initHeight += 20;
lineWidth = 0;
lastSubStrIndex = i;
titleHeight += 20;
}
//绘制剩余部分
if (i == item.length - 1) {
ctx.fillText(item.substring(lastSubStrIndex, i + 1), 30, initHeight);
}
}
console.log('结束一轮之后的initheight: '+initHeight+' titleHeight