programing

그리기 가능한 리소스 이미지를 비트맵으로 변환

skycolor 2023. 8. 15. 10:58
반응형

그리기 가능한 리소스 이미지를 비트맵으로 변환

사용하려고 합니다.Notification.Builder.setLargeIcon(bitmap)비트맵 이미지를 가져옵니다.그리기 가능한 폴더에 사용할 이미지가 있는데 어떻게 비트맵으로 변환합니까?

당신 말은 아마도Notification.Builder.setLargeIcon(Bitmap)그렇죠? :)

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

리소스 이미지를 Android로 변환하는 좋은 방법입니다.Bitmaps.

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

API 22 이후getResources().getDrawable()사용하지 않으므로 다음 솔루션을 사용할 수 있습니다.

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

Context당신의 현재가 될 수 있습니다.Activity.

Android에서 그리기 가능한 리소스를 비트맵으로 변환하는 다른 방법은 다음과 같습니다.

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

첫 번째 비트맵 이미지 만들기

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

이제 Notification Builder 아이콘에서 비트맵을 설정합니다.

Notification.Builder.setLargeIcon(bmp);

res/drawable폴더,

새 만들기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" />

이제 리소스 ID와 함께 사용할 수 있습니다.R.id.filename.

만약 누군가 큰 아이콘에 대한 코틀린 버전을 찾고 있다면, 당신은 이것을 사용할 수 있습니다.

val largeIcon = BitmapFactory.decodeResource(context.resources, R.drawable.my_large_icon)

언급URL : https://stackoverflow.com/questions/8717333/converting-drawable-resource-image-into-bitmap

반응형