我正在使用 Kinetic.JS 用于开发HTML5应用程序的库。我用了动力学。图像加载图像(在 .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";
有帮助吗?

解决方案

图像加载器中没有DetectionType。.它应该是这样的

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

而在鼠标出来,你可以使用相同的功能,即

蜜蜂。萨维马格达塔();

并且还以相同的函数结束整个onload函数 然后它会工作

现在埃里克已经发布了v4+ 所以现在没有像素检测类型

你可以使用类似的东西

    image.createImageBuffer();

//清除图像缓冲区

     image.clearImageBuffer();

希望这能起作用。.

问候

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top