我是paperjs的新手。我不知道 Shape.Rectangle 和 Path.Rectangle 之间有什么区别。如果 path.Rectangle 创建一个带路径的矩形,那是什么意思,因为两种方法的输出是相同的
问问题
526 次
2 回答
2
Path
并且Shape
是不同的类,具有不同的绘制方法,但输出是相似的。
但是,我注意到的一个区别是缩放:Shape
s modify strokeWidth
,而Path
s 保持不变
path = new Path.Rectangle([200, 100], [10, 100]);
path.strokeColor = 'black';
path.scale(10, 1);
shape = new Shape.Rectangle([200, 220], [10, 100]);
shape.strokeColor = 'red';
shape.scale(10, 1);
于 2013-11-21T13:36:11.760 回答
2
您看到这种缩放差异的原因是由于item.applyMatrix
标志。在这两个链接中应该很好地解释:
https://groups.google.com/forum/#!topic/paperjs/4EIRSGzcaUI http://paperjs.org/reference/item/#applymatrix
默认情况下,路径项直接将变换应用到它们的段,因此笔画看起来是统一的。
另一方面,形状项目不能将转换传递给它们的内容,它们总是将它们存储在矩阵中(并且shape.applyMatrix
总是false
)。
但是您也可以使用统一的笔划渲染 Shape 项目,使用item.strokeScaling
:
于 2015-02-26T12:49:01.133 回答