Android 异常:Immutable bitmap passed to Canvas constructor
16lz
2021-01-23
First:
Get bitmap from your drawable resource:
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.yourBitmap);
2nd way to get bitmap from drawable:
Drawable bitmapDrawable = getResources().getDrawable(R.drawable.ic_launcher);
Bitmap bm = ((BitmapDrawable) bitmapDrawable).getBitmap();
When using this bitmp with Canvas like this:
Canvas canva = new Canvas(bm);
It throws:
java.lang.IllegalStateException:
Immutable bitmap passed to Canvas constructor
Solution:
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher).copy(Bitmap.Config.ARGB_8888, true);
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer