ズーム ツールを実行していますが、Sprite.setAttributes({scale: {…}); に問題があります。キャンバスの中心に配置...
http://teempla.com/sites/all/themes/teamplan/d2d/ - ここにあります。
鉛筆で 2 本以上の線を描いてみて、ズーム + を押すと、浮いていることがわかります。それは間違っています。そして奇妙なことに、彼らは相対的な中心に位置しています。
クリックイベントコードの写真:
click: function( e, t, eOpts ){
d2dModel.set('zoom',d2dModel.get('zoom')+0.1);
var draw = Ext.ComponentManager.get(Ext.select('.d2d-draw-panel',true).elements[0].id);
for (var i in draw.surface.items.map){
draw.surface.items.map[i].setAttributes({
scale: {
cx: d2dModel.get('width')/2,
cy: d2dModel.get('height')/2,
x: d2dModel.get('zoom'),
y: d2dModel.get('zoom')
}
}, true);
}
}
Raphael.JSで私はそれを作りました
el.transform('s'+zoom+','+zoom+','+w/2+','+h/2);
そして、それはうまくいきます。
アイデアをありがとう!