inputStreamをBitmapに変換し、リサイズしたのち再び、
byte配列経由でinputStreamに戻し、利用することを想定しています。
Kotlin
1var bitmapImg = BitmapFactory.decodeStream(inputStream) 2var resizedBitmapImg: Bitmap = Bitmap.createScaledBitmap(bitmapImg,100,100,true) 3var byteBuffer: ByteBuffer = ByteBuffer.allocate(resizedBitmapImg.byteCount) 4resizedBitmapImg.copyPixelsToBuffer(byteBuffer) 5var byteArray = byteBuffer.array() 6var resizedInputStream = ByteArrayInputStream(byteArray)
しかし、作成したresizedInputStreamを
ref.putStream(resizedInputStream)
でfirebase storage にアップロードしても、
プレビューの読み込み中にエラーが発生しました。
と表示されてしまいます。
また、ByteArrayInputStreamを、decodeStreamでbitmapに戻し、
imageViewにsetしても表示されません。
imageView.setImageBitmap(BitmapFactory.decodeStream(resizedInputStream))
resizedBitmapImgからresizedInputStreamへの変換に失敗していると見込んでいるのですが、
対処方法がわからず困っています。
どなたかご教示いただけないでしょうか。