使用BitmapFactory.decodeResource创建出的Bitmap对象是immutable的,因此在调用其.setPixel方法时会抛出IllegalStateException异常。

解决方法:创建副本

若要使topImage这个Bitmap变成mutable,可以使用下面的代码: 

topImage = topImage.copy(Bitmap.Config.ARGB_8888, true);