0

我正在使用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";
4

1 回答 1

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();

希望这能帮到..

问候

于 2012-10-04T09:26:23.977 回答