2013-12-09 4 views
5

कैमानजेएस ब्राउज़र में लाइव छवि मैनिपुलेशन करने के लिए एक महान पुस्तकालय है।कैमानजेएस - फ़िल्टर/मैनिपुलेशन लागू करने के बाद अंतर्निहित कैनवास बदलें

मैं पूर्व-मौजूदा कैनवास ऑब्जेक्ट पर कैमन का उपयोग कर रहा हूं। यदि उपयोगकर्ता मेरी साइट के पिछले क्षेत्र में 'बैक' चला जाता है और फिर कैनवास में फिर से आता है तो मुझे उस कैनवास पर छवि को बदलने की आवश्यकता हो सकती है।

कैमन इसे प्राप्त होने वाले पहले छवि डेटा को कैश करने के लिए प्रतीत होता है और फिर इसके संदर्भ में कैनवास को 'ताला लगाता है'। कैमन को लागू करने के बाद कैनवास को बदलने के प्रयास कैनवास में कोई दृश्य परिवर्तन नहीं करते हैं।

हम कैमन के बाहर हमारे कैनवास डेटा को कैसे बदल सकते हैं और फिर कैमन फ़िल्टर को फिर से लागू कर सकते हैं?

उत्तर

10

मैंने रयान (CamanJS के निर्माता) को ईमेल किया और उन्होंने जवाब दिया कि reloadCanvasData() नामक एक फ़ंक्शन है जिसे कैनवास के मूल संदर्भ में किसी भी बदलाव के साथ कैमन के छवि डेटा कैश को 'रीफ्रेश' करने के लिए बुलाया जा सकता है। https://github.com/meltingice/CamanJS/blob/master/src/core/caman.coffee#L387-L392

यह पूरी तरह से काम किया:: यहाँ स्रोत लिंक है Caman उदाहरण आप अपने कैनवास के लिए बनाने की दुकान है और फिर बाद में किसी भी फोन रन पर .reloadCanvasData()। इसके बाद आपको अपनी इच्छित Caman कुशलताओं को दोबारा लागू करने की आवश्यकता होगी।

मैं इस फ़ंक्शन को दस्तावेज़ करना चाहता था क्योंकि Google में अभी तक कोई संदर्भ नहीं दिखता है।

+1

धन्यवाद! मुझे कहना है, Caman.js स्वयं ही कमाल है, लेकिन उन्हें बेहतर दस्तावेज़ीकरण की आवश्यकता है - इसमें किसी भी गाइड या किसी भी चीज़ में इसका कोई उल्लेख नहीं है। मैंने कभी उस कोड को देखकर खुद को ठोकर नहीं दिया होगा ... – daGUY

+0

सहमत! खुशी है कि यह आपकी मदद की। – Stephen

+0

हाय @ स्टीफन, क्या आप '.reloadCanvasData()' को कार्यान्वित करने के बारे में थोड़ा मार्गदर्शन दे सकते हैं? मैंने पहले से ही 'canvas.reloadCanvasData()', 'Caman.reloadCanvasData (कैनवास)', और कुछ और कुछ करने की कोशिश की है। किसी भी तरह की सहायता को आभार समझेंगे। धन्यवाद! और क्षमा करें, मुझे पता है कि यह सवाल काफी पुराना है, लेकिन अभी भी प्रासंगिक है। – Horacio

संबंधित मुद्दे