В строке var aspect = myBitmap.height / myBitmap.width
В kotlin, когда вы делите целое число на целое число, результат округляется до целого числа.
Прежде всего, в соответствии с вашим использованиемcase aspect = width / height
Более того, поскольку вы получаете результат в виде целого числа, если в результате будет, скажем, 0,5, aspect
будет иметь значение ZERO, поскольку оно является целым числом.Приложение вылетает из-за того, что newwidth становится равным нулю.
Пожалуйста, измените строку на
val aspect = myBitmap.width.toFloat() / myBitmap.height.toFloat()
И используйте newwidth.toInt()
при вызове createScaledBitmap
.
PS Пожалуйста, не обращайте внимания на мою грамматику.