इसके बजाय, अपनी छवि दृश्य को कैनवास के रूप में आकर्षित करने का प्रयास करें।
ImageView CanvasView = (ImageView) findViewById(R.id.fashion_pic)
यहाँ से आप अपने खुद के बिटमैप बना सकते हैं और यह एक TouchEvent के बाद फिर से आकर्षित। निम्नलिखित स्निपेट एक आवश्यक काम के आसपास एक बग के लिए 2.1 में शामिल (या 2.2, मुझे याद नहीं):
public void redrawImage() {
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.fashion_pic);
Bitmap 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);
//Here, we draw the text where the user last touched.
c.drawText("Fashion", someGlobalXvariable, someGlobalYvariable, somePaint);
CanvasView.setImageBitmap(proxy);
}
यहाँ, आप एक कैनवास जो पहले से ही पृष्ठभूमि और पेंट पाठ के रूप में अपनी तस्वीर है बनाया है एक एक्स और वाई चर पर।
CanvasView.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent e) {
someGlobalXvariable = e.getX();
someGlobalYvariable = e.getY();
redrawImage();
return true;
}
});
आप देख सकते हैं, श्रोता स्वचालित रूप से अपनी छवि को जब यह छुआ है अद्यतन करता है, और पाठ उपयोगकर्ता की अंगुली का अनुसरण करेगा: अब, बस एक OnTouchListener निर्धारित किया है। चूंकि आप अपने कैनवास के रूप में बिटमैप का उपयोग कर रहे हैं, इसलिए यदि आप उस ऐप की कार्यक्षमता चाहते हैं तो आप छवि को सहेजने/लोड करने के लिए समर्थन भी जोड़ सकते हैं।
संपादित करें: ऐसा हो सकता है और अधिक प्रदर्शन के अनुकूल है अगर आप redrawImage()
से लाइनों 1-3 ले जाने और उन्हें कहीं और जगह, वैश्विक वस्तुओं के रूप में उन वस्तुओं की स्थापना। मैं आपको इसके साथ टिंकर करने दूँगा।
यदि आप वास्तव में एक प्रश्न पूछते हैं तो अपने प्रश्नों के उत्तर प्राप्त करना बहुत आसान है। – CommonsWare
ओह यह मिला, मैं बस एक रोड मैप के लिए पूछ रहा हूं – Hunt