dojox gfxを新しい位置で回転させる方法は?
形状は移動可能であり、新しい位置で回転および拡大縮小する必要があります。デモには、dojoxgfxのButterlyDemoを使用しました。可動バタフライについては、jsfiddleのこの例を参照してください。
新しい位置と新しい中心で形状を回転および拡大縮小するにはどうすればよいですか?
前もって感謝します、
mbecker
dojox gfxを新しい位置で回転させる方法は?
形状は移動可能であり、新しい位置で回転および拡大縮小する必要があります。デモには、dojoxgfxのButterlyDemoを使用しました。可動バタフライについては、jsfiddleのこの例を参照してください。
新しい位置と新しい中心で形状を回転および拡大縮小するにはどうすればよいですか?
前もって感謝します、
mbecker
jsFiddle(http://jsfiddle.net/phusick/ta65D/ )をフォークし、関数dijit/form/NumberSpinner
を変更してバタフライを移動するために(translateX&translateY)の2つのインスタンスを追加しました。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/。