似乎如果你在 raphael 中缩放一个集合,它会缩放里面的元素,但不会按比例平移它们。因此,例如,如果我的集合中有两个相邻的方 block ,并且我缩放了设置,则这些方 block 开始相互重叠,而不是第二个方 block 在调整大小时移动,以便保持在第一个方 block 旁边。有没有办法让拉斐尔产生这种行为?
最佳答案
正如 Ian 提到的,关键是设置比例的 X、Y 原点。默认情况下,当您缩放元素时,它使用元素的几何中心作为原点进行缩放:
path.transform('S1.5'); // Scale 1.5x in both axis
因此,如果缩放一组对象,它将从其各自的几何中心缩放每个单独的元素。
但是您可以选择为比例设置 X 和 Y 原点:
path.transform('S1.5,1.5,0,0'); // Scale 1.5 in X and 1.5 in Y, with origin set at the Paper's 0,0 as the origin.
因此,如果您有一组元素,并且所有元素都使用纸张的 0,0
作为缩放原点进行缩放,那么它们都将按比例相互缩放。
关于javascript - 拉斐尔js : Scale and translate elements in a set proportionally,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23430652/