fix: contouring
This commit is contained in:
+10
-10
@@ -38,17 +38,17 @@ export function getRoundedRectPoints(
|
||||
}
|
||||
|
||||
// 左上角圆角(从顶部开始,顺时针)
|
||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
|
||||
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) - Math.PI;
|
||||
points.push([
|
||||
r + r * Math.cos(angle - Math.PI / 2),
|
||||
r + r * Math.sin(angle - Math.PI / 2)
|
||||
r + r * Math.cos(angle),
|
||||
r + r * Math.sin(angle)
|
||||
]);
|
||||
}
|
||||
|
||||
// 右上角圆角
|
||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
|
||||
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) - Math.PI/2;
|
||||
points.push([
|
||||
width - r + r * Math.cos(angle),
|
||||
r + r * Math.sin(angle)
|
||||
@@ -56,8 +56,8 @@ export function getRoundedRectPoints(
|
||||
}
|
||||
|
||||
// 右下角圆角
|
||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI / 2;
|
||||
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
|
||||
points.push([
|
||||
width - r + r * Math.cos(angle),
|
||||
height - r + r * Math.sin(angle)
|
||||
@@ -65,8 +65,8 @@ export function getRoundedRectPoints(
|
||||
}
|
||||
|
||||
// 左下角圆角
|
||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI;
|
||||
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI/2;
|
||||
points.push([
|
||||
r + r * Math.cos(angle),
|
||||
height - r + r * Math.sin(angle)
|
||||
|
||||
Reference in New Issue
Block a user