728x90
Drawable을 Bitmap으로 변경
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.[drawable명칭]);
또는,
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
Bitmap을 Drawable로 변경
Drawable drawable = new BitmapDrawable(bitmap);
Drawable을 Bitmap으로 변경한 뒤 canvas에 넣거나 수정할 경우
[Immutable bitmap passed to Canvas constructor]라는 예외 error가 발생하는 경우가 있다.
이런경우, 아래와 같이 bitmap을 복사한 뒤 사용하면 error를 피해갈 수 있다.
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.[drawable명칭]);
Bitmap copybitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
복사한 copybitmap을 사용하면 된다.
728x90
'Programing > android' 카테고리의 다른 글
[android studio] 디버깅(debuging) 단축키 (0) | 2021.10.24 |
---|---|
[android studio] image 회전시키기, bitmap 이미지 회전 (0) | 2021.10.24 |
[android studio] MPAndroidChart 차트 구현하기 (0) | 2021.10.22 |
[android studio] component 찾는 방법, id만으로 찾기 (0) | 2021.10.21 |
[android studio] 초기 db파일을 생성 후 앱실행시 설치하 (0) | 2021.10.20 |
댓글