1
我有一个定制的fabric.js
绑定与触摸支持。现在我可以用捏缩放手势缩放任何物体。问题是变焦真的非常敏感,我几乎不会移动手指,而且物体的比例非常大。在fabric.js中改变捏缩放灵敏度
我无法在有关如何更改灵敏度的文档中找到很多信息。我知道Event.js
用于处理fabric.js
内的触摸事件。有什么办法可以改变这种敏感性吗?
我有一个定制的fabric.js
绑定与触摸支持。现在我可以用捏缩放手势缩放任何物体。问题是变焦真的非常敏感,我几乎不会移动手指,而且物体的比例非常大。在fabric.js中改变捏缩放灵敏度
我无法在有关如何更改灵敏度的文档中找到很多信息。我知道Event.js
用于处理fabric.js
内的触摸事件。有什么办法可以改变这种敏感性吗?
好吧,我最终实现了自己的触摸控制,这是我制作的代码。此代码被放置在我自定义的fabric.js
对象的added
事件中。
////////////////////////////// Touch event handlers
// Add listener event for pinch-zoom
var bbScope = this;
var hammer = new Hammer.Manager(this.canvas.upperCanvasEl);
var pinch = new Hammer.Pinch();
hammer.add([pinch]);
hammer.on('pinch', function (ev) {
// Set the scale and render only if we have a valid pinch (inside the object)
if (bbScope._validPinch) {
bbScope.set('scaleX', ev.scale);
bbScope.set('scaleY', ev.scale);
bbScope.canvas.renderAll();
}
});
hammer.on('pinchend', function (ev) {
bbScope._validPinch = false;
});
hammer.on('pinchcancel', function (ev) {
bbScope._validPinch = false;
});
hammer.on('pinchstart', function (ev) {
// Convert mouse coordinates to canvas coordinates
ev.clientX = ev.center.x;
ev.clientY = ev.center.y;
// Check if the pinch was started inside this object
if (bbScope.canvas) {
var p = bbScope.canvas.getPointer(ev);
bbScope._validPinch = bbScope.containsPoint(p);
}
else {
bbScope._validPinch = false;
}
});
你怎么能在面料捏放大你能解释一下,或者你可以请分享您的代码......我开发的应用程序 – Gopinath
@Vicky智能我结束了使用'hammer.js'检测手势在元素上并手动应用缩放。 – Andres
Andres我已经尝试过与hammerjs和quojs,但没有得到任何想法,请你给我的例子代码?所以我可以得到想法,并使事情工作 – Gopinath