美文网首页
小程序canvas文本换行

小程序canvas文本换行

作者: C_razy | 来源:发表于2018-11-14 18:46 被阅读0次
    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 += 20; //16为字体的高度
            lineWidth = 0;
            lastSubStrIndex = i;
            titleHeight += 20;
          }
          if (i == str.length - 1) { //绘制剩余部分
            ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
          }
        }
        // 标题border-bottom 线距顶部距离
        titleHeight = titleHeight + 10;
        return titleHeight
      },
    

    调用方法

    that.drawText(ctx, "花时间长多久爱手机单基调是基础",150,220,2,218)
    

    相关文章

      网友评论

          本文标题:小程序canvas文本换行

          本文链接:https://www.haomeiwen.com/subject/xdtsfqtx.html