Javascript 如何在新位置旋转dojox gfx形状?
如何在新位置旋转dojox gfx 形状是可移动的,必须在新位置旋转和缩放。为了演示,我使用了。看 如何在新位置和新中心旋转和缩放形状 提前感谢, mbecker由于修改了Javascript 如何在新位置旋转dojox gfx形状?,javascript,svg,dojo,gfx,Javascript,Svg,Dojo,Gfx,如何在新位置旋转dojox gfx 形状是可移动的,必须在新位置旋转和缩放。为了演示,我使用了。看 如何在新位置和新中心旋转和缩放形状 提前感谢, mbecker由于修改了updateMatrix函数,我分叉了JSFIDLE(),添加了两个dijit/form/NumberSpinner(translateX和translateY)实例来移动蝴蝶: var updateMatrix = function() { var translateX = xSpinner.get("value")
updateMatrix
函数,我分叉了JSFIDLE(),添加了两个dijit/form/NumberSpinner
(translateX和translateY)实例来移动蝴蝶:
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:。谢谢您的回答。蝴蝶形状可以用鼠标移动(按住蝴蝶可移动)。我的目的是移动形状,然后旋转它。在这里,检查上面的答案,然后。