如何获得 paper.js 中的圆心?
How do I get the center of a circle in paper.js?
我正在尝试 paper.js 我已经转了几圈:
var circle = new Shape.Circle({
center: [100,100],
radius: 50,
strokeColor: 'black',
strokeWidth: 2
});
这画了一个圆,圆心为 [100,100](也可以是一个点:Point({x:100, y:100});
),半径为 50。太棒了,这是一个圆。
如果我想得到一个圆的半径,我可以这样做:
circle.radius; // returns 50
但我不知道如何让中心重新回来。我猜的部分原因是 Shape.Circle
returns 一个 Shape
对象,它没有 center
参数(documentation here),但我肯定可以得到这一点不知何故回来了。有谁知道怎么做?
使用:
circle.center[0] and circle.center[1]
因为它是一个数组
<script>
var circle = {
center: [100,100],
radius: 50,
strokeColor: 'black',
strokeWidth: 2
};
console.log(circle.center[0]);
</script>
更新:
抱歉,我没有正确阅读您的问题。
您可以使用 circle.position 来获取中心的位置。
虽然 circle
对象没有 center
属性,但如果您正确阅读文档,您会发现它确实有 bounds
属性.
在图形中,"bound" 是完全包含您的对象的矩形。所以对于一个圆,边界将是一个与圆的左、右、上、下接触的矩形。因此,边界的中心是圆的中心(注意:根据您对 "center" 的定义,这并不总是适用于所有对象)。
Paper.js 会给你:
circle.bounds.x
circle.bounds.width
circle.bounds.y
circle.bounds.height
因此 circle
的中心是:
var centerX = circle.bounds.x + circle.bounds.width/2;
var centerY = circle.bounds.y + circle.bounds.height/2;
注意:您必须自己尝试一下,因为我对 paper.js 的经验为零。我刚刚阅读了文档
由于圆圈以创建它们的位置为中心,您可以从中获取位置(作为点)以及 x 和 y 值:
var circle = new Shape.Circle({
center: [100,100],
radius: 50,
strokeColor: 'black',
strokeWidth: 2
});
console.log(circle.position.x, circle.position.y); //100 100
我正在尝试 paper.js 我已经转了几圈:
var circle = new Shape.Circle({
center: [100,100],
radius: 50,
strokeColor: 'black',
strokeWidth: 2
});
这画了一个圆,圆心为 [100,100](也可以是一个点:Point({x:100, y:100});
),半径为 50。太棒了,这是一个圆。
如果我想得到一个圆的半径,我可以这样做:
circle.radius; // returns 50
但我不知道如何让中心重新回来。我猜的部分原因是 Shape.Circle
returns 一个 Shape
对象,它没有 center
参数(documentation here),但我肯定可以得到这一点不知何故回来了。有谁知道怎么做?
使用:
circle.center[0] and circle.center[1]
因为它是一个数组
<script>
var circle = {
center: [100,100],
radius: 50,
strokeColor: 'black',
strokeWidth: 2
};
console.log(circle.center[0]);
</script>
更新: 抱歉,我没有正确阅读您的问题。 您可以使用 circle.position 来获取中心的位置。
虽然 circle
对象没有 center
属性,但如果您正确阅读文档,您会发现它确实有 bounds
属性.
在图形中,"bound" 是完全包含您的对象的矩形。所以对于一个圆,边界将是一个与圆的左、右、上、下接触的矩形。因此,边界的中心是圆的中心(注意:根据您对 "center" 的定义,这并不总是适用于所有对象)。
Paper.js 会给你:
circle.bounds.x
circle.bounds.width
circle.bounds.y
circle.bounds.height
因此 circle
的中心是:
var centerX = circle.bounds.x + circle.bounds.width/2;
var centerY = circle.bounds.y + circle.bounds.height/2;
注意:您必须自己尝试一下,因为我对 paper.js 的经验为零。我刚刚阅读了文档
由于圆圈以创建它们的位置为中心,您可以从中获取位置(作为点)以及 x 和 y 值:
var circle = new Shape.Circle({
center: [100,100],
radius: 50,
strokeColor: 'black',
strokeWidth: 2
});
console.log(circle.position.x, circle.position.y); //100 100