概要
ここに質問して、結局2時間後くらいに何が悪かったかに気づき修正することができました。
どこでハマったか
JPEG2000でエンコードされたbyteArray を扱う際に、
Swiftを使っていれば
let uiImage = UIImage(data: data)
としてByteArray ([UInt8]) をそのままぶちこむだけでなんかImageとして出力してくれていたのですが、
Kotlinでは同様にBitmapにすれば描画できるやろと思って
var bitmap = BitmapFactory.decodeByteArray(data, 0, data.size, BitmapFactory.Options())
とやっても、bitmap はnullになっていたので何が問題なのか分かりませんでした。
解決策
あとで、このバイト配列がJPEG2000でエンコードされたものであることがわかり、
Kotlinでは例えば
このライブラリを使ってデコードする必要があることがわかりました。
ライブラリのインポートさえしてしまえば、
import com.gemalto.jp2.JP2Decoder
val bitmap = JP2Decoder(it).decode();
で簡単にデコードできます。
以上!