2012-06-08 9 views
5

मुझे क्या चाहिए, पाठ पर छवि पर उंगली के स्पर्श के साथ पाठ को स्थानांतरित किया जा रहा है, बटन पर क्लिक करें, यह मौजूदा छवि को एक नए में दोबारा हटा देता है जो उस पर चिपका हुआ पाठ है।छवि को हल करने और छवि डिवाइस समस्याओं को दोबारा हटाने के लिए

यह v3.1 के साथ-साथ एमुलेटर पर भी ठीक काम करता है। लेकिन मैंने v2.2 डिवाइस पर परीक्षण करने की कोशिश की, यह फोर्स बंद होता है। जबकि इसमें उपकरणों के लिए सभी समर्थन हैं। क्या आप यहां से मेरी मदद कर सकते हैं। यह कुछ हफ्तों में महत्वपूर्ण होगा। पहले से धन्यवाद।

///Redrawing the image & touchin Move of the Canvas with text 
public void redrawImage(String path,float sizeValue,String textValue,int colorValue) { 
     BitmapFactory.Options options = new BitmapFactory.Options(); 
     try { 
      options.inMutable = true; 
     } catch (Exception e) { 
      // TODO: handle exception 
      System.out.println("#############Error is======"+e.getMessage()); 
     } 

     Bitmap bm = BitmapFactory.decodeFile(path,options); 

     proxy = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Config.ARGB_8888); 
     Canvas c = new Canvas(proxy); 

     //Here, we draw the background image. 
     c.drawBitmap(bm, new Matrix(), null); 

     Paint paint = new Paint(); 
     paint.setColor(colorValue); // Text Color 
     paint.setStrokeWidth(30); // Text Size 
     paint.setTextSize(sizeValue); 

     System.out.println("Values passing=========="+someGlobalXvariable+", "+someGlobalYvariable+", " 
             +sizeValue+", "+textValue); 

     //Here, we draw the text where the user last touched. 
     c.drawText(textValue, someGlobalXvariable, someGlobalYvariable, paint); 

     popImgae.setImageBitmap(proxy); 
} 
+0

क्या आप लॉगबैक से त्रुटि लॉग पोस्ट कर सकते हैं? – Zelleriation

+1

विकल्प.in मटेबल = सत्य; चूंकि समर्थित है: एपीआई स्तर 11, और आपको बिटमैप बीएम को म्यूटेबल के रूप में लोड करने की आवश्यकता नहीं है। केवल बिटमैप प्रॉक्सी उत्परिवर्तनीय होना चाहिए –

उत्तर

0

यह जानना जब बलपूर्वक बंद करना, एप्लिकेशन प्रारंभ होने के बाद सही तरह होता है जैसे ही आप को छूने के रूप में पाठ पहले से कहीं ड्रॉ मदद मिलेगी? डिवाइस
एक बहुत आसान और fullproof तकनीक पर

डीबग वास्तविक डिवाइस पर डिबग मोड में कोड चल रहा है। अपने फ़ंक्शन की शुरुआत में ब्रेकपॉइंट जोड़ें और प्रत्येक पंक्ति पर चरण बंद होने तक चरण बंद करें।

संभवतः यह OOM
आप एक स्पर्श के दौरान बार-बार redrawImage बुला रहे हैं, तो हर फ्रेम की तरह है, तो एक नया बिटमैप का आवंटन जल्दी से स्मृति का एक बहुत खाते हैं और दुर्घटना का कारण हो सकता है: तो फिर

Bitmap bm = BitmapFactory.decodeFile(path,options); 

थोड़ी देर के बाद बल बंद हो सकता है। बीएम को किसी विधि पैराम या सदस्य फ़ील्ड में बदलने का प्रयास करें जिसे आवंटित किया गया है और एक बार फ़ाइल से पढ़ा गया है।

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