Frage

Ich benutze Kinetic.JS Bibliothek zur Entwicklung von HTML5-Apps.Ich habe Kinetic.Image verwendet, um ein Bild zu laden (in .PNG Format) und verwende die Pixelerkennung, um nur den nicht transparenten Teil meines Bildes zu erkennen.Das Problem ist, dass ich mein Bild nicht richtig ziehen kann, obwohl ich das eingestellt habe draggable Eigentum zu true und nutzen saveImageData Methode.Das Bild wird lange vorher gezogen (mit path Erkennung).Irgendeine Lösung, Leute?Das ist mein Code:

   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";
War es hilfreich?

Lösung

Es gibt keinen DetectionType in Ihrem Bildlader.es sollte so etwas sein

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

und beim Herausfahren der Maus können Sie dieselbe Funktion verwenden, d. h

bee.saveImageData();

und beenden Sie auch die gesamte Onload -Funktion mit derselben Funktion, dann funktioniert sie dann

Jetzt hat Eric Release V4+. Jetzt gibt es jetzt keinen Pixel -Erkennungstyp

Sie können so etwas wie verwenden

    image.createImageBuffer();

// Bildpuffer löschen

     image.clearImageBuffer();

Hoffe das hilft..

Grüße

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top