2012-07-28 45 views
0

我正在使用Kinetic.JS库开发HTML5应用程序。 我使用Kinetic.Image加载图像(格式为.PNG),并使用像素检测仅检测图像的非透明部分。问题是我无法正确拖动我的图像,虽然我已将draggable属性设置为true并使用saveImageData方法。 图像被拖动之前(使用path检测)。任何解决方案家伙 这是我的代码:Kinetic.JS图像使用像素检测后无法拖动

var beeObj = new Image(); 
     beeObj.onload = function(){ 
      bee = new Kinetic.Image({ //bee is global variable 
      x: 325 - 45, 
      y: 145 - 83, 
      image: beeObj,   
      draggable: true   
     }); 
     lineLayer.add(bee); 
     lineLayer.draw(); 
     bee.saveImageData(); 
    }; 
    beeObj.src = directory + "smile_bee.png"; 
+0

NB:Kinetic.JS版本:动能v3.10.4.js – 2012-07-28 17:59:03

回答

0

还有就是你的图像加载器内没有DetectionType .. 它应该像

bee = new Kinetic.Image({ //bee is global variable 
     x: 325 - 45, 
     y: 145 - 83, 
     image: beeObj,   
     draggable: true, 
     DetectionType: 'Pixels'   
    }); 

和鼠标了,你可以使用相同的功能,即

bee.saveImageData();

,并结束与相同功能 整个的onload函数,那么它会工作

现在埃里克具有剥离V4 + 所以现在没有像素检测型

,你可以使用类似

image.createImageBuffer(); 

//清晰图像缓冲器

 image.clearImageBuffer(); 

希望这HELS ..

问候