canvas画小球,头像,文本

/**
     * 画小球
     */
    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
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值