2013-03-27 61 views
0

我正在使用Kinetcjs库处理图像,因此我们可以在画布内拖动图像。Kineticjs - 将可拖动图像绑定到画布

我遇到的一个问题是用户可以将加载到画布上的图像拖出画布。当用户完成图像时,我们试图获取图像时,这显然会导致问题,因为他们可以在图像中间下载图像。

是否有反正我们可以绑定它,使图像的顶部不能被拖过画布的顶部,图像的底部拖过画布的底部?

+0

好,你必须表现出一定的代码,因为通常你在kineticJS创建图像被限定于所创建的画布内。 – SoluableNonagon 2013-03-27 15:21:14

+0

您可能在画布外部有图像,并且没有将它首先绑定到画布上。 – SoluableNonagon 2013-03-27 15:21:48

+1

如果你还没有完全将它绑定到画布上,那么你可以使用jQuery可拖动来实现你所要求的。如果你已经绑定了它,那么在KineticJS中有一个dragBoundFunc,它可以让你限制画布中对象的移动 – SoluableNonagon 2013-03-27 15:24:04

回答

0

我有它的工作。有兴趣的人如何做到这一点我做到了,像这样:

photo.setDragBoundFunc(function(pos){       
    var yBound = stage.getHeight()-newPhotoHeight; 

    if(pos.y >= yBound && pos.y < 0) { 
     var newY = pos.y; 
    } else if(pos.y < yBound) { 
     var newY = yBound; 
    } else if(pos.y > 0) { 
     var newY = 0; 
    } else { 
     var newY = pos.y; 
    } 

    return { 
      x: this.getAbsolutePosition().x, 
      y: newY 
      } 
    });