javascript - Kineticjs:用两根手指触摸手势旋转图像?

标签 javascript canvas rotation kineticjs

我想使用Kineticjs在移动设备上使用两根手指旋转手势来旋转图像。

描述了显示图像 here 。基本上是这样的:

<script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v5.0.1.min.js"></script>
<script defer="defer">
  var stage = new Kinetic.Stage({
    container: 'container',
    width: 578,
    height: 200
  });
  var layer = new Kinetic.Layer();

  var imageObj = new Image();
  imageObj.onload = function() {
    var yoda = new Kinetic.Image({
      x: 200,
      y: 50,
      image: imageObj,
      width: 106,
      height: 118
    });

    // add the shape to the layer
    layer.add(yoda);

    // add the layer to the stage
    stage.add(layer);
  };
  imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/yoda.jpg';

</script>

添加触摸事件可以通过

imageObj.on('touchmove', function() {
       // do something
});

如何使用两根手指触摸手势围绕图像中心旋转图像?

最佳答案

您可以将 HammerJSKineticJS(来自 Kinetic v5.1.0)结合使用来处理手势事件:

  var startRotate = 0;
  var hammertime = Hammer(image);
  hammertime.on("transformstart", function(e) {
    startRotate = image.rotation();
  }).on("transform", function(e) {
    image.rotation(startRotate + e.gesture.rotation);
    layer.draw();
  });

Demo

关于javascript - Kineticjs:用两根手指触摸手势旋转图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239443/

相关文章:

html - 像 Canvas 中的时间轴一样闪烁

html - 在 html5 的 Canvas 上绘制扭曲的图像

javascript - 向 Canvas 中绘制的对象添加大小控制柄

css - 具有不同原点的转换后的 div 之间的区别

安卓 OpenGL ES : Rotation against arbitrary axis?

javascript - WP + ACF 如何在前端产品页面检索数据

javascript - Angular2 中的 SVG 循环

c# - 如何使纹理旋转以面向 Vector2?

javascript - ionic 内容滚动被禁用

javascript - 如何使 Javascript 的 reduce 方法在数组的数组上工作?