美文网首页Android
Android异常java.lang.IllegalStateE

Android异常java.lang.IllegalStateE

作者: MoonJoy | 来源:发表于2019-02-17 11:28 被阅读105次

    使用BitmapFactory的decodeResource方法需注意,不能直接修改res里面的图片,需要添加copy(Bitmap.Config.ARGB_8888,true)方法,否则会报以下异常:

    Caused by: java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor

    代码如下:

        private Bitmap getBitmap(Context context, int resId) {
            BitmapFactory.Options options = new BitmapFactory.Options();
            TypedValue value = new TypedValue();
            context.getResources().openRawResource(resId,value);
            options.inTargetDensity = value.density;
            options.inScaled = false;
            return BitmapFactory.decodeResource(context.getResources(),resId,options).copy(Bitmap.Config.ARGB_8888,true);
        }
    

    相关文章

      网友评论

        本文标题:Android异常java.lang.IllegalStateE

        本文链接:https://www.haomeiwen.com/subject/jgqieqtx.html