2011-02-10 16 views
234

से बिटमैप कैसे सेट करें यह आसान लगता है, मैं बिटमैप छवि सेट करने की कोशिश कर रहा हूं लेकिन संसाधनों से, मेरे पास ड्रायबल फ़ोल्डर में एप्लिकेशन के भीतर है।संसाधन

bm = BitmapFactory.decodeResource(null, R.id.image); 

यह सही है?

उत्तर

661

मान लें कि आप एक गतिविधि वर्ग

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image); 

पहले पैरामीटर में इस बुला रहे हैं, संसाधन, की आवश्यकता है। यह आमतौर पर किसी भी संदर्भ (और गतिविधि जैसे उपclass) में प्राप्य है।

+0

मैं बिटमैप के शून्य मान हो रही है से, आप मुझे कह सकता हूँ मैं क्यों अशक्त – gautam

7

यदि संसाधन दिखा रहा है और एक दृश्य है, तो आप इसे भी कैप्चर कर सकते हैं।

View rootView = ((View) findViewById(R.id.yourView)).getRootView(); 
rootView.setDrawingCacheEnabled(true); 
rootView.layout(0, 0, rootView.getWidth(), rootView.getHeight()); 
rootView.buildDrawingCache(); 

Bitmap bm = Bitmap.createBitmap(rootView.getDrawingCache()); 

rootView.setDrawingCacheEnabled(false); 

यह वास्तव में पूरे लेआउट पकड़ लेता है, लेकिन आप को बदलने के रूप में आप चाहते हैं कर सकते हैं: एक स्क्रीनशॉट की तरह।

28

इस

यह

ImageView image = (ImageView) findViewById(R.id.test_image); 
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png"); 
image.setImageBitmap(bMap); 

यह संसाधनों

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
1

आप एक बिटमैप वस्तु की घोषणा है, तो से है sdcard से है की कोशिश करो और आप इसे प्रदर्शित करना चाहते हैं या इस बिटमैप वस्तु की दुकान । लेकिन सबसे पहले आपको किसी भी छवि को असाइन करना होगा, और आप बटन क्लिक इवेंट का उपयोग कर सकते हैं, यह कोड केवल यह दिखाएगा कि बिटमैप ऑब्जेक्ट में ड्रॉइंग छवि को कैसे स्टोर किया जाए।

Bitmap contact_pic = BitmapFactory.decodeResource(v.getContext().getResources(), R.drawable.android_logo); 

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

0

उपयोग करने के लिए

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName); 

के साथ इस लाइन

bm = BitmapFactory.decodeResource(null, R.id.image); 

की जगह मैं कहता हूँ बस के साथ शून्य मान बदलने के लिए मतलब getResources() आप किसी भी बटन या चित्र दृश्य क्लिक करें घटना में इस कोड का उपयोग करते हैं तो बस getApplicationContext संलग्न() getResources से पहले() ..

0

जब मैं अपने दृश्य के लिए एक बिटमैप सेट करना चाहता था मैं इस सवाल पाया। यही वजह है कि मैं और अधिक उपयोगी इस कोड को मिला:

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey)); 

here

+0

यह एक दृश्य के लिए एक drawable संसाधन प्रदान करती हो रही है, यह किसी संसाधन से बिटमैप प्राप्त करने के बारे में ओपी के प्रश्न का उत्तर नहीं देता है। – Tom

+0

@Tom अद्यतन कोड के ऊपर टिप्पणी। आशा है कि आपकी चिंता का जवाब दें –