Это потому, что ваш bitmap
является переменной с нулевой безопасностью (код выглядит так var bitmap : Bitmap? = null
). Но я думаю, что ваш код безопасен, чтобы сделать bitmap
ненулевым в этом коде, потому что вы присваиваете растровое изображение с Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888)
. Таким образом, решение заключается в том, что вы можете изменить свой код на:
private fun generateInternalCanvas(w: Int, h: Int) {
bitmap?.recycle()
if (w > 0 && h > 0) {
bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888)
bitmap?.eraseColor(Color.TRANSPARENT)
internalCanvas = Canvas(bitmap!!)
}
}