是否需要为 strokeRect 调用 context.beginPath() 和 context.closePath()
Is it required to call context.beginPath() and context.closePath() for strokeRect
下面的代码需要beginPath()和closePath()吗?
context.strokeStyle = "green";
context.strokeRect(x, y, width, height);
不,strokeRect
不会像 rect
那样向路径添加任何内容。看成是对上下文的一次性直接操作。
"Addendum":
closePath
用于连接路径中的第一个点和路径中的最后一个点,或子路径(即关闭路径)。矩形已经是封闭的子路径。 fill()(和 clip())将为您临时关闭路径。这是因为用开放路径填充形状是不可能的。临时意味着它仅在内部完成,填充完成后路径保持不变。但是如果你打算关闭形状(路径),你需要它用于笔画,并且你需要在调用 stroke() 之前调用它。
我看到很多人在 之后调用这个 fill/stroke ,这有点毫无意义 - 但在进行填充时并不是真的需要(这是否开始听起来很混乱?:)).
beginPath
清除 路径,但同样,不需要向路径添加任何内容的方法(strokeRect、fillRect、strokeText、fillText 等)
下面的代码需要beginPath()和closePath()吗?
context.strokeStyle = "green";
context.strokeRect(x, y, width, height);
不,strokeRect
不会像 rect
那样向路径添加任何内容。看成是对上下文的一次性直接操作。
"Addendum":
closePath
用于连接路径中的第一个点和路径中的最后一个点,或子路径(即关闭路径)。矩形已经是封闭的子路径。 fill()(和 clip())将为您临时关闭路径。这是因为用开放路径填充形状是不可能的。临时意味着它仅在内部完成,填充完成后路径保持不变。但是如果你打算关闭形状(路径),你需要它用于笔画,并且你需要在调用 stroke() 之前调用它。
我看到很多人在 之后调用这个 fill/stroke ,这有点毫无意义 - 但在进行填充时并不是真的需要(这是否开始听起来很混乱?:)).
beginPath
清除 路径,但同样,不需要向路径添加任何内容的方法(strokeRect、fillRect、strokeText、fillText 等)