【问题标题】:Preserving scaling of multiple items in set with Raphael使用 Raphael 保持集合中多个项目的缩放
【发布时间】:2012-10-24 16:40:21
【问题描述】:

我有一组形状,每个形状都以不同的比例缩放。

当集合转换到另一个点时使用

set.transform("tp1,p2")

形状重新调整为正常大小。对于每个缩放的形状 在它们原始尺寸的不同比例中,我无法给出比例 set.transform 的选项。

如何在 transform() 期间保持集合中每个项目的缩放比例?

我的代码问题:

http://jsfiddle.net/XHr4H/

【问题讨论】:

    标签: javascript svg raphael


    【解决方案1】:

    Raphael 处理此问题的不完善方法是允许将转换指令附加到转换序列(使用“directive...”)或附加到转换序列(使用“...directive”)。在您的情况下,实现您想要的效果的最简单方法是在 setTimeout 函数中添加您想要的相对变换。

    var paper = Raphael("paper", 200, 200);
    
    var s = paper.set(),
        r = paper.rect(0,0,30,30).attr({"fill":"green"}).transform("t27,30s0.2"),
        r2  = paper.rect(40,0,30,30).attr({"fill":"red"}).transform("t27,30s0.4");
    s.push(r,r2);
    setTimeout(function(){
        s.transform("t100,150...");  // here 'tis
    }, 2000);
    

    transform("t100,150...") 本质上将所需的转换插入到集合中每个元素的转换字符串的开头。因此,r 的转换累积计算为“t127,180s0.2”,r2 变为“t127,180s0.4”。

    【讨论】:

    • hm 实际上我在文档中看到了“...”,并认为它是之前转换文本的占位符,为了不再写它:) 谢谢。跨度>
    猜你喜欢
    • 2011-03-22
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多