/**
* 画小球
*/
drawArc: function(ctx, color, w, h) {
ctx.beginPath();
ctx.fillStyle = color;
ctx.arc(w, h, 4, 0, 2 * Math.PI, false);
ctx.fill();
},
/**
* 画头像
*/
drawAvatar: function(ctx, url, w, h, radius) {
ctx.beginPath(); //开始绘制
ctx.arc(w + radius, h + radius, radius, 0, 2 * Math.PI, false);
ctx.clip();
ctx.drawImage(url, w, h, radius * 2, radius * 2);
ctx.restore();
},
/**
* 文本
*/
drawText: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth) {
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 += 25; //16为字体的高度
lineWidth = 0;
lastSubStrIndex = i;
titleHeight += 30;
}
if (i == str.length - 1) { //绘制剩余部分
ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
}
} // 标题border-bottom 线距顶部距离
titleHeight = titleHeight + 10;
return titleHeight
},
canvas画小球,头像,文本
最新推荐文章于 2024-01-15 17:44:40 发布