toFormateStr(ctx: CanvasRenderingContext2D, text:string, boxWidth: number, startX: number, startY: number, lineHeight: number) {
let textArr = text.split("");
let liner = 0;
let fontSize = 20
var drawText = (textArr: string[]) => {
for (let i = 0; i < textArr.length; i++) {
const t = textArr[i];
if (fontSize * (i + 1) > boxWidth) {
liner++;
drawText(textArr.slice(i, textArr.length))
break;
}else {
ctx.fillText(t, (startX + fontSize * i), startY + liner * fontSize + liner * lineHeight);
}
}
}
drawText(textArr);
return liner + 1;
}
网友评论