var canvas = document.getElementsById("canvas");
var ctx = canvas.getContext();
ctx.setFillStyle('#808080') // 文字颜色:黑色
ctx.setFontSize(32) // 文字字号:24px
that.drawText(ctx, text, 40, 1160, 90, 470, 42);
//文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、标题高度 6、文本的宽度 7、行高
drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, lineHeight) {
var lineWidth = 0;
var lastSubStrIndex = 0; //每次开始截取的字符串的索引
for (let i = 0; i < str.length; i++) {
lineWidth += ctx.measureText(str[i]).width;
if (lineWidth > canvasWidth) {
ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); //绘制截取部分
initHeight += fontSize; //16为字体的高度
lineWidth = 0;
lastSubStrIndex = i;
titleHeight += fontSize;
}
if (i == str.length - 1) { //绘制剩余部分
ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
}
}
// 标题border-bottom 线距顶部距离
// titleHeight = titleHeight + 10;
return titleHeight
}
canvas文本换行
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Canvas的drawText绘制文本自动换行(支持设置显示最大行数) 使用Canvas的drawText绘制文本...
- 浮动 float:浮动的意思 浮喽特 浮动元素的外边缘不会超过其父元素的内边缘浮动元素不会相互重叠浮动元素不会上下...