画像をクロップしてbitmapデータをローカルに保存しようとして以下のプログラムを作ったのですが、クロップした後アプリが落ちてしまします。どうしたら改善できますか?
関係ないコードの部分は省略させてもらいました。
Kotlin
1 2省略 3 4class SettingActivity : AppCompatActivity() { 5 6省略 7 8 override fun onCreate(savedInstanceState: Bundle?) { 9 super.onCreate(savedInstanceState) 10 setContentView(R.layout.activity_setting) 11 12省略 13 14 imageButton.setOnClickListener { 15 CropImage.activity() 16 .setGuidelines(CropImageView.Guidelines.ON) 17 .setAspectRatio(imagex, imagey) 18 .start(this) 19 } 20 } 21 22 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { 23 super.onActivityResult(requestCode, resultCode, data) 24 if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE){ 25 var result = CropImage.getActivityResult(data) 26 val bmp = result.bitmap 27 saveImgsFromBmp(bmp, this) 28 imageset = true 29 } 30 } 31 32省略 33 34 fun saveImgsFromBmp(bmp:Bitmap, context: Context) { 35 val outputFileName = "picture" 36 try { 37 val byteArrOutputStream = ByteArrayOutputStream() 38 val fileOutputStream: FileOutputStream = context.openFileOutput(outputFileName,Context.MODE_PRIVATE) 39 bmp!!.compress(Bitmap.CompressFormat.JPEG, 100, byteArrOutputStream) 40 fileOutputStream.write(byteArrOutputStream.toByteArray()) 41 fileOutputStream.close() 42 } 43 catch (e:Exception){ 44 e.printStackTrace() 45 } 46 } 47}
あなたの回答
tips
プレビュー