开发
API

CanvasContext.setMiterLimit

基础库 1.0.0 开始支持本方法。

设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 CanvasContext.setLineJoin 参数为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoinbevel 来显示。

语法

CanvasContext.setMiterLimit(miterLimit)

参数说明

参数类型默认值必填说明最低支持版本
miterLimitnumber最大斜接长度1.0.0

返回值

代码示例

<!-- index.ttml -->
下列斜接面限制比例分别为:
<block tt:for="{{miterLimits}}">
  <view>{{item}}</view>
</block>

<canvas canvas-id="myCanvas"></canvas>
// index.js
Page({
  data: {
    miterLimits: [1, 2, 3, 4],
  },
  onLoad: function (options) {
    const canvasCtx = tt.createCanvasContext("myCanvas");
    canvasCtx.beginPath();
    canvasCtx.setLineWidth(10);
    canvasCtx.setLineJoin("miter");
    canvasCtx.setMiterLimit(1);
    canvasCtx.moveTo(10, 10);
    canvasCtx.lineTo(100, 50);
    canvasCtx.lineTo(10, 90);
    canvasCtx.stroke();

    canvasCtx.beginPath();
    canvasCtx.setLineWidth(10);
    canvasCtx.setLineJoin("miter");
    canvasCtx.setMiterLimit(2);
    canvasCtx.moveTo(50, 10);
    canvasCtx.lineTo(140, 50);
    canvasCtx.lineTo(50, 90);
    canvasCtx.stroke();

    canvasCtx.beginPath();
    canvasCtx.setLineWidth(10);
    canvasCtx.setLineJoin("miter");
    canvasCtx.setMiterLimit(3);
    canvasCtx.moveTo(90, 10);
    canvasCtx.lineTo(180, 50);
    canvasCtx.lineTo(90, 90);
    canvasCtx.stroke();

    canvasCtx.beginPath();
    canvasCtx.setLineWidth(10);
    canvasCtx.setLineJoin("miter");
    canvasCtx.setMiterLimit(4);
    canvasCtx.moveTo(130, 10);
    canvasCtx.lineTo(220, 50);
    canvasCtx.lineTo(130, 90);
    canvasCtx.stroke();

    canvasCtx.draw();
  },
});

Bug & Tip

  • Tip:本 API 仅适用于<canvas> 组件 V1
  • Tip:miterLimit 参数为 0、负数、 Infinity 和 NaN 时设置无效。
点击纠错
评价此篇文档