使用像素检测后Kinetic.JS图像无法拖动

时间:2012-07-28 17:53:14

标签: javascript html5 kineticjs

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

   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";

1 个答案:

答案 0 :(得分: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函数 然后它会工作

现在Eric发布了v4 + 所以现在没有像素检测类型

你可以使用像

这样的东西
    image.createImageBuffer();

//清除图像缓冲区

     image.clearImageBuffer();

希望这可以......

此致