0

我在 raphael 文档中看到 translate 已被贬值并建议改用 transform 。但我的要求是,当我移动一个对象时,我需要将 x、y 或 cx、cy 更新到具有最新值的服务器。这可以使用翻译轻松完成。但如果我使用转换它存储为Tx,y. 使用变换时如何获得修改后的x和y?

例子

console.dir(page1);
var c1 = paper.circle(50,50,3);
c1.transform("T100,100");

这里的 cx 和 cy 仍然是 50,50 但我需要的值为 100,100

4

1 回答 1

0

transform() 将改变坐标系。如果您只需要“移动”一个形状,那么您只需根据形状更改其位置属性,可以是 cx、cy、x、y。以下是一个 raphael 扩展,它将方法 nt_translate() 和 nt_scale() 添加到形状和集合,并添加了两个自定义属性 translateNT 和 scaleNT 到形状。因此,如果您执行 aCircle.nt_translate(10,10),则圆的 cx 和 cy 属性将发生变化,并且将在没有 transform() 的情况下进行翻译。希望有帮助!

于 2012-11-28T15:24:16.127 回答