【问题标题】:Kineticjs: Rotate an Image with a two Finger Touch Gesture?Kineticjs:用两个手指触摸手势旋转图像?
【发布时间】:2023-04-07 21:49:01
【问题描述】:

我想在移动设备上使用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
});

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

【问题讨论】:

    标签: javascript canvas rotation kineticjs


    【解决方案1】:

    您可以将 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

    【讨论】:

    • 还有纯KineticJS的版本吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2015-07-31
    相关资源
    最近更新 更多