কীভাবে সংস্থান থেকে বিটম্যাপ সেট করবেন


279

এটি সহজ বলে মনে হচ্ছে, আমি একটি বিটম্যাপ ইমেজ সেট করার চেষ্টা করছি তবে উত্সগুলি থেকে আমার আঁকারযোগ্য ফোল্ডারে অ্যাপ্লিকেশনটির মধ্যে রয়েছে।

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

এটা কি সঠিক?

উত্তর:


756

ধরে নিচ্ছি আপনি এটিকে কোনও কার্যকলাপ শ্রেণিতে কল করছেন calling

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

প্রথম প্যারামিটার, সংস্থানসমূহ প্রয়োজন, এটি সাধারণত যে কোনও প্রসঙ্গে (এবং ক্রিয়াকলাপের মতো সাবক্লাস) এ সাধারনত উপলব্ধ।


1
আমি বিটম্যাপের নাল মান পাচ্ছি, আপনি কি আমাকে বলতে পারবেন যে আমি কেন নাল হয়ে যাচ্ছি
গৌতম

হ্যাঁ, আমি একই সমস্যা পেয়েছি, বিটম্যাপের নাল মান।
এরর রোহিত শর্মা

3
আমি বিষয়টি পেয়েছি। আমি ভেক্টর ড্রয়কে বিটম্যাপে রূপান্তর করার চেষ্টা করছিলাম। সুতরাং ভেক্টর অঙ্কনযোগ্যকে বিটম্যাপে রূপান্তর করতে এখানে কোডিং।
এরার রোহিত শর্মা 12 '12

যদি না একটি ভ্রমণ শ্রেণী থেকে কল (যেমন, একটি ডাটা ক্লাস থেকে বলা হলে) আপনি চেষ্টা করে দেখতে পারেন: Val myBitmap = BitmapFactory.decodeResource (Resources.getSystem (), R.drawable.your_image) <-Kotlin
Bikeboy

36

এটা চেষ্টা কর

এটি এসডিকার্ড থেকে

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);

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);

এটি আসলে পুরো লেআউটটি দখল করে তবে আপনি নিজের ইচ্ছামত পরিবর্তন করতে পারেন।


2

যদি আপনি একটি বিটম্যাপ অবজেক্ট ঘোষণা করেন এবং আপনি এটি প্রদর্শন করতে বা এই বিটম্যাপ অবজেক্টটি সঞ্চয় করতে চান। তবে প্রথমে আপনাকে কোনও চিত্র নির্ধারণ করতে হবে, এবং আপনি বোতাম ক্লিক ইভেন্টটি ব্যবহার করতে পারেন, এই কোডটি কেবলমাত্র বিটম্যাপ অবজেক্টে কীভাবে ছবি আঁকতে হবে তা প্রদর্শন করবে।

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

এখন আপনি এই বিটম্যাপ অবজেক্টটি ব্যবহার করতে পারেন, আপনি এটি সংরক্ষণ করতে চান কিনা, বা নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশের উপর একটি ছবি আঁকানোর সময় গুগল ম্যাপে এটি ব্যবহার করতে বা অন্য কোথাও ব্যবহার করতে পারেন


0

শুধু এই লাইন প্রতিস্থাপন

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

সঙ্গে

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

আমার অর্থ হ'ল getResferences () দিয়ে নাল মানটি পরিবর্তন করুন আপনি যদি এই কোডটি কোনও বোতামে ব্যবহার করেন বা চিত্র দেখুন ক্লিক ইভেন্টটি getResource () এর আগে getApplicationContext () যুক্ত করুন ..


0

এই ফাংশনটি ব্যবহার করে আপনি চিত্র বিটম্যাপ পেতে পারেন। কেবল চিত্র url পাস করুন

 public Bitmap getBitmapFromURL(String strURL) {
      try {
        URL url = new URL(strURL);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.connect();
        InputStream input = connection.getInputStream();
        Bitmap myBitmap = BitmapFactory.decodeStream(input);
        return myBitmap;
      } catch (IOException e) {
        e.printStackTrace();
        return null;
      }
 }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.