1
我想實現我kineticjs項目上的放大。我發現這兩種來源,似乎很好地工作,當他們獨立地實現:捏/縮放和滾動/縮放點kinetic.js
Scroll wheel zoom to point on desktop
問題是,我需要在移動設備上的捏/變焦,並在桌面上時,滾動縮放設備。
有沒有人有kinetic.js項目上的兩個方法的任何示例實現? 預先感謝您。
滾輪變焦,在桌面上點
var ui = {
stage: null,
scale: 1,
zoomFactor: 1.1,
origin: {
x: 0,
y: 0
},
zoom: function (event) {
event.preventDefault();
var evt = event.originalEvent,
mx = evt.clientX /* - canvas.offsetLeft */ ,
my = evt.clientY /* - canvas.offsetTop */ ,
wheel = evt.wheelDelta/120; //n or -n
var zoom = (ui.zoomFactor - (evt.wheelDelta < 0 ? 0.2 : 0));
var newscale = ui.scale * zoom;
ui.origin.x = mx/ui.scale + ui.origin.x - mx/newscale;
ui.origin.y = my/ui.scale + ui.origin.y - my/newscale;
ui.stage.setOffset(ui.origin.x, ui.origin.y);
ui.stage.setScale(newscale);
ui.stage.draw();
ui.scale *= zoom;
}
};
捏/變焦移動
var layer = new Kinetic.Plugins.PinchLayer({
container: stage,
width: image.getWidth(),
height: image.getHeight()
});
謝謝,我會試試這個,讓你知道它是怎麼回事。 – zsoflin
爲什麼你不使用縮放後的camera.draw()? – confile