Estoy tratando de habilitar un pellizco suave para hacer zoom en dispositivos móviles en mi lienzo fabric.js. Tengo una solución que técnicamente funciona, el problema es que es muy tartamudo, el zoom se da en distintas etapas, casi cuadro por cuadro, por lo que no es una buena experiencia. También parece empeorar a medida que pasa el tiempo. ¿Hay alguna manera de que pueda tartamudear menos y escalar más suavemente? Estoy probando en un buen teléfono inteligente.
Aquí está el código:
canvas.on('touch:gesture',function(event) { if (event.e.touches && event.e.touches.length == 2) { if (event.self.state == "start") { zoomStartScale = self.canvas.getZoom(); } // Calculate delta from start scale var delta = zoomStartScale * event.self.scale; // Zoom to pinch point self.canvas.setZoom(delta); } })