ठीक है, मैं मैं चतुर होने की कोशिश की मानता: मैंने सोचा था कि अगर मैं आकार के drawFunc संपत्ति overrode मैं बस एक आयत के अंदर जो कुछ भी और अभी भी उपयोग KineticJS के क्लिक पहचान आकर्षित कर सकता है। यहाँ मेरी प्रयास है:KineticJS एनिमेटेड आकृतियों के अंदर का पता लगाने क्लिक
var shape = new Kinetic.Shape({
drawFunc: function(context) {
var id = 26; // Id of a region inside composite image.
context.beginPath();
context.rect(0, 0, w, h);
context.closePath();
this.fill(context);
this.stroke(context);
context.drawImage(copyCanvas, (id % 8) * w, flr(id/8) * h,
w, h, 0, 0, w/2, h/2);
},
draggable: true
});
तो, विचार एक आयत बनाएं, और कुछ (एक बनावट की तरह छोड़कर यह समय-समय पर बदलता है क्योंकि copyCanvas ही बदल जाता आयत की चोटी पर आकर्षित करने के लिए, drawImage() का उपयोग किया गया)। इस बीच, मुझे अभी भी 'बस काम' करने के लिए इवेंट हैंडलिंग (विशेष रूप से ड्रैग-एन-ड्रॉप) की उम्मीद थी। खैर, यहां क्या होता है: आयत का हिस्सा मेरे drawImage() द्वारा कवर नहीं किया गया है, सही ढंग से क्लिक का पता लगाता है। हालांकि, छवि द्वारा कवर आयताकार का चौथाई क्लिक पर प्रतिक्रिया देने से इंकार कर देता है! अब, मेरा सवाल है क्यों? मैंने KineticJS कोड में खोला, और मुझे देखा कि पहचान पर क्लिक करने का मतलब बस एक बफर को चित्रित करना और देखना है कि किसी दिए गए एक्स, वाई बिंदु में शून्य-शून्य अल्फा है। मैं नहीं देख सकता कि यह मेरे आयत के शीर्ष पर एक छवि को चित्रित करने से कैसे प्रभावित हो सकता है।
कोई विचार क्या चल रहा है?
चलो, लोगों, मुझे मत बताओ मैं स्रोत में खुदाई और इस अपने आप को जवाब देने के लिए है ?! दुनिया क्या आ रही है? –
अभी तक प्रदान की गई जानकारी के साथ उत्तर देना वाकई मुश्किल है। क्या आप jsFiddle पर एक उदाहरण बना सकते हैं जो आपकी समस्या दिखाता है? (जैसे [यह] (http://jsfiddle.net/SyMRJ/) या [यह] (http://jsfiddle.net/pukster/wF7AA/)) स्रोतों में से जो मैं देख सकता था (v4.0.4), 'getIntersection' केवल 'अल्फा === 255' (पूरी तरह से अपारदर्शी) वाले पिक्सल को मानता है। एक अपारदर्शी आकार पर कुछ पारदर्शिता के साथ एक छवि ड्राइंग या [ 'context.globalCompositeOperation'] (अल्फा को कम नहीं हो सकता है, पर निर्भर करता है http://www.whatwg.org/specs/web-apps/current-work/multipage /the-canvas-element.html#compositing)। – mgibsonbr