我需要复制比例并将纸张中的属性从一项转换为另一项。
我尝试使用
itemA.copyAttributes(itemB, false)
但这似乎什么都没做?
我也尝试过
itemA.transform(itemB.matrix)
这又不起作用。我可以使用下面的行复制翻译内容
itemA.position.x = itemB.position.x
itemA.position.x = itemB.position.x
但是我不知道如何复制秤,任何想法
答案 0 :(得分:1)
能够将转换从一项复制到另一项的一个技巧是将item.applyMatrix设置为false
。
这将具有将项目平移,缩放和旋转存储为属性的作用,而不是将其应用于其几何形状。
然后,您就可以将它们应用于其他项目。
这里是sketch演示解决方案。
// Create an orange filled square.
var squareA = new Path.Rectangle({
from: view.center - 200,
to: view.center - 100,
fillColor: 'orange',
// Notice that matrix is not applied, this will allow us to copy scaling and rotation later.
applyMatrix: false
});
// Create a blue stroked square by cloning the orange one.
squareB = squareA.clone();
squareB.strokeColor = 'blue';
squareB.fillColor = null;
// Transform the orange square.
squareA.translate(100, 100);
squareA.scale(2);
squareA.rotate(80);
// Replicate transformations to blue stroked square by copying individual values.
squareB.position = squareA.position;
squareB.scaling = squareA.scaling;
squareB.rotation = squareA.rotation;