অঙ্কনযোগ্য রিসোর্স চিত্রটি বিটম্যাপে রূপান্তর করা


172

আমি এটি ব্যবহার করার চেষ্টা করছি Notification.Builder.setLargeIcon(bitmap)যা একটি বিটম্যাপ চিত্রটি নেয়। আমার ছবিটি আমার অঙ্কনযোগ্য ফোল্ডারে ব্যবহার করতে চাই তাই আমি কীভাবে বিটম্যাপে রূপান্তর করব?

উত্তর:


406

আপনি সম্ভবত মানে Notification.Builder.setLargeIcon(Bitmap), তাই না? :)

Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.large_icon);
notBuilder.setLargeIcon(largeIcon);

এটি রিসোর্স চিত্রগুলি অ্যান্ড্রয়েড এসগুলিতে রূপান্তর করার একটি দুর্দান্ত পদ্ধতি Bitmap


2
"সম্পাদনা" বোতামটি চাপুন এবং প্রশ্নটি ঠিক করবেন না কেন? (ভবিষ্যতের জন্য আরও পরামর্শ - আমি ইতিমধ্যে এটির জন্য এটি করেছি ... আমি তাদের উত্তরগুলির টাইপগুলি সমালোচনা না করার জন্য সম্পাদনা করার পরামর্শ দেব to আমি এটি আপনার পক্ষে করছি না)) অন্য নোটে, +1 থাকার জন্য কাজের উত্তর :)
আর্টঅফ ওয়ারফেয়ার

1
আমি সাধারণ জবাব হিসাবে এটি সঠিক বলে মনে করি না - কমপক্ষে অ্যান্ড্রয়েড ভেক্টর ড্রয়েবলকে সমর্থন করা শুরু করার পরে নয়।
রবার্তো টমিস

সমাধানটি বাস্তবায়নের পরে আমি এটি পাচ্ছি ...... E/CommitToConfigurationOperation: Malformed snapshot token (size): ... E/NotificationService: Not posting notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=content://settings/system/notification_sound defaults=0x0 flags=0x10 color=0x00000000 vis=PRIVATE) ... E/NotificationService: WARNING: In a future release this will crash the app:...
ভুরো ২

44
Drawable myDrawable = getResources().getDrawable(R.drawable.logo);
Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();

যেহেতু এপিআই 22 getResources().getDrawable()অবচিত হ'ল তাই আমরা নিম্নলিখিত সমাধানগুলি ব্যবহার করতে পারি।

Drawable vectorDrawable = VectorDrawableCompat.create(getResources(), R.drawable.logo,  getContext().getTheme());
Bitmap myLogo = ((BitmapDrawable) vectorDrawable).getBitmap();

1
এটি আমাকে জানিয়েছে বিটম্যাপড্রেইবলকে কোনও ধরণের সমাধান করা যায় না

হাই @ 20Cents আপনি চেষ্টা হয়নি stackoverflow.com/questions/18218938/...
AndyW

আপনি যদি সিটিআর + শিফট + ও টিপুন তবে আপনি যদি বিটম্যাপড্রেইবলের জন্য কোনও ধরণের সমাধান করতে না পারছেন তবে। চিয়ার্স!
পোর্টফোলিওবিল্ডার

দুর্ভাগ্যক্রমে এইভাবে আমার অ্যাপটি ক্র্যাশ হয়ে গেছে!
ফাহাদ আলদুরাইবি

getDrawable অবমূল্যায়ন করা হয়েছে
জুনিয়র মেহে

13
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable);

Contextআপনার বর্তমান হতে পারে Activity


2
এবং ভেক্টর ড্রয়যোগ্যদের জন্য?
রবার্তো টমিস

9

অ্যান্ড্রয়েডে ড্রয়যোগ্য সংস্থানটি বিটম্যাপে রূপান্তর করার জন্য এখানে আরেকটি উপায়:

Drawable drawable = getResources().getDrawable(R.drawable.input);
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();

2
আপনার অ্যান্ডিডাব্লিউশন থেকে কীভাবে আলাদা? একই!
ফাহাদ আলদুরাইবি

6

প্রথমে বিটম্যাপ চিত্র তৈরি করুন

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

এখন বিজ্ঞপ্তি নির্মাতা আইকনে বিটম্যাপ সেট করুন ...

Notification.Builder.setLargeIcon(bmp);

0

ইন res/drawableফোল্ডার

1. একটি নতুন তৈরি করুন Drawable Resources

২. ইনপুট ফাইলের নাম।

res/drawableফোল্ডারের ভিতরে একটি নতুন ফাইল তৈরি করা হবে ।

নতুন তৈরি ফাইলের মধ্যে এই কোডটি প্রতিস্থাপন করুন এবং ic_action_backআপনার আঁকতে সক্ষম ফাইলের নামের সাথে প্রতিস্থাপন করুন।

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/ic_action_back"
    android:tint="@color/color_primary_text" />

এখন, আপনি এটি রিসোর্স আইডি R.id.filename,।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.