error with setPixels

I think your Bitmap is not mutable (see setPixel()'s documentation).

If so, create a mutable copy of this Bitmap (using Bitmap.copy(Bitmap.Config config, boolean isMutable) as an example) and work on this one.


It's simple, just use the following command to change it to a mutable Bitmap:

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

Now the Bitmap myBitmap is replaced by the same Bitmap but this time is mutable

You can also choose another way of storing Pixels (ARGB_8888 etc..): https://developer.android.com/reference/android/graphics/Bitmap.Config.html