繁体   English   中英

如何在新位置旋转dojox gfx形状?

[英]How to rotate dojox gfx shape at new position?

如何在新位置旋转dojox gfx?

形状是可移动的,必须在新位置旋转和缩放。 为了演示,我使用了dojox gfxButterly Demo 在jsfiddle看到这个可移动蝴蝶的例子

如何在新位置和新中心旋转和缩放形状?

提前致谢,

mbecker

我分叉你的jsFiddle( http://jsfiddle.net/phusick/ta65D/ )并添加了两个dijit/form/NumberSpinner (translateX和translateY)实例,以通过修改的updateMatrix函数移动蝴蝶:

var updateMatrix = function() {
    var translateX = xSpinner.get("value");
    var translateY = ySpinner.get("value");

    var centerX = 210 + translateX;
    var centerY = 170 + translateY;

    if(g) {
        g.setTransform([
            m.rotategAt(rotation, centerX, centerY), 
            m.scaleAt(scaling, centerX, centerY), 
            m.translate(translateX, translateY)
        ]);
    }
};

编辑:要添加鼠标DnD支持,请将以下代码添加到上述代码中:

var moveable = new Moveable(g);   // require("dojox/gfx/Moveable")
moveable.onMoved = function(mover, shift) {
    xSpinner.set("value", xSpinner.get("value") + shift.dx);
    ySpinner.set("value", ySpinner.get("value") + shift.dy);
}

当然,你不必使用NumberSpinner ,但是因为我把它放在那里之前它给你一个很好的反馈,在幕后发生了什么。 在jsFiddle上看到它: http//jsfiddle.net/phusick/ta65D/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM