मुझे पहले से ही इस प्रश्न का दुर्भाग्यपूर्ण उत्तर होने से डर है, लेकिन बस मामले में ... मैं बिटमैप्स (रोशनी और रंग संशोधन) के साथ कुछ छवि प्रसंस्करण करने के लिए एक SurfaceView का उपयोग कर रहा हूं। और मुझे एक नए बिटमैप में संशोधित बिटमैप (यानी SurfaceView की सामग्री) आयात करने की आवश्यकता होगी ताकि मैं इसे एक छवि फ़ाइल के रूप में सहेज सकूं।एंड्रॉइड: SurfaceView सामग्री के साथ एक बिटमैप बनाना
मैं चारों ओर देख रहा हूं और ऐसा लगता है कि View.getDrawingCache() से बिटमैप प्राप्त करना संभव है लेकिन यह SurfaceView के साथ काम नहीं करता है। मुझे बस एक खाली बिटमैप मिलता है।
क्या इसका कोई समाधान है?
धन्यवाद
मैं इस समाधान का उपयोग करना चाहता था लेकिन SurfaceViews के साथ यह संभव नहीं है क्योंकि ड्राइंग प्रक्रिया थ्रेड में की जाती है और कैनवास SurfaceHolder से प्राप्त किया जाता है। इसका उपयोग इस तरह किया जाता है: कैनवास = सतह होल्डर.लॉक कैनवास (शून्य); सिंक्रनाइज़ (सतही होल्डर) {डूड्रा (कैनवास); } –
समस्या हल हो गई। मैंने SurfaceView को एक साधारण कस्टम व्यू में बदल दिया। फिर, जब दृश्य बनाया जाता है तो DrawCache (setDrawingCacheEnabled (true)) को सक्षम करते हुए, मैं getDrawingCache() विधि को कॉल करने वाला बिटमैप पुनर्प्राप्त करने में सक्षम हूं। –
आपकी पहली टिप्पणी के लिए, क्या आप बस बिटमैप-समर्थित कैनवास के साथ डूड्रा को कॉल नहीं कर सकते? 'अगर (स्क्रीनग्राब) {doDraw (c_fromMyPost); } else {doDraw (canvas_fromYourApp); } ' – idbrii