我是报社的新手。我不明白Shape.Rectangle和Path.Rectangle有什么不同。如果path.Rectangle创建了一个带有路径的矩形,那么这意味着什么,因为两种方法的输出是相同的
发布于 2013-11-21 21:36:12
Path和Shape是不同的类,具有不同的绘制方法,但输出相似。
然而,我注意到一个不同之处在于伸缩性:Shape修改strokeWidth,而Path保持不变。
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);

发布于 2015-02-26 20:49:01
您看到这种伸缩差异的原因是由于item.applyMatrix标志。在这两个链接中应该有相当好的解释:
https://groups.google.com/forum/#!topic/paperjs/4EIRSGzcaUI http://paperjs.org/reference/item/#applymatrix
默认情况下,路径项目将变换直接应用于其线段,因此笔触看起来是一致的。
另一方面,Shape项不能传递对其内容的转换,它们总是将它们存储在矩阵中(并且shape.applyMatrix始终为false)。
但是,您也可以使用item.strokeScaling使用统一的笔触呈现Shape项
http://paperjs.org/reference/item/#strokescaling
https://stackoverflow.com/questions/19612379
复制相似问题