2012-12-06 41 views
6
b2.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       setContentView(R.layout.new_main); 

       String editTextStr = text.getText().toString(); 
       Toast msg = Toast.makeText(getBaseContext(),"/sdcard/Stored_Images/" + editTextStr + ".jpg", Toast.LENGTH_LONG); 
       msg.show(); 

       Bitmap bmp = BitmapFactory.decodeFile("/sdcard/Stored_Images/" + editTextStr + ".jpg"); 
       ImageView img = (ImageView) findViewById(R.id.ImageView01); 
       img.setImageBitmap(bmp); 
      } 
     }); 

उपरोक्त कोड एसडी कार्ड पर सहेजी गई स्क्रीन पर एक छवि प्रदर्शित करता है।एंड्रॉइड - एक छवि के शीर्ष पर खींचे

Canvas c = holder.lockCanvas(); 
c.drawARGB(255,0,0,0); 
onDraw(c); 
holder.unlockCanvasAndPost(c); 

यह कोड (काले स्क्रीन) पर खींचने के लिए कैनवास बनाता है।

मैं कैनवास के रूप में एक छवि को सेट/प्रदर्शित करने के लिए दोनों को गठबंधन करने में सक्षम होना चाहता हूं ताकि मैं इसे आकर्षित कर सकूं। तो अगर मैं किसी के चेहरे की तस्वीर लेता हूं, तो मैं उस छवि को प्रदर्शित करने में सक्षम होना चाहता हूं ताकि मैं मूंछ या कुछ उस पर आकर्षित कर सकूं।

उत्तर

4

आप शायद कैनवास बनाने से बेहतर हैं, इसमें बिटमैप छवि जोड़ रहे हैं और फिर वहां से उपयोगकर्ता स्पर्श/ड्राइंग को संभालने में सक्षम हैं।

Bitmap bmp = BitmapFactory.decodeFile("/sdcard/Stored_Images/" + editTextStr + ".jpg"); 
mCanvas = new Canvas(bmp); 

तो ड्राइंग के लिए ... ध्वनि पता लगा कि जैसे आप है, लेकिन नहीं आप api क़ौम कि एक कैनवास (जो आप पर पर अपनी छवि के लिए होता है पर ड्राइंग प्रदर्शित से fingerPaint samples की जाँच कर सकते हैं अगर । उस बिंदु)

+0

मैं इस की कोशिश की है लेकिन मुझे एक त्रुटि मिलेगा जिसमें बताया गया: अपरिवर्तनीय बिटमैप कैनवास निर्माता को पारित कर दिया। वैसे भी इस के आसपास पाने के लिए? – homes

+1

प्रदान किया गया लिंक अब और काम नहीं करता है लेकिन मुझे लगता है कि यह वही नमूना है: https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis /graphics/FingerPaint.java –

+0

धन्यवाद @MatthiasSchippling –

1

आप imageView अनुकूलित कर सकते हैं और OnDraw में अपनी छवि (कैनवास कैनवास)

उदाहरण के लिए पर ड्राइंग बनाया:

अपनी गतिविधि में:

1) छवि से बिटमैप बनाने

2) imageView

a) create object for customized ImageView 

MyImageView दृश्य = नए MyImageView (यह) अनुकूलित करने के लिए बिटमैप सेट;

b) set the bitmap 


view.setImageBitmap(bmp); 

MyImageView.java:

+0

बहुत उपयोगी जानकारी! – Alexey