ネットワークから生の画像を読み込んでいます。この画像は、ファイルからではなく、イメージ センサーによって読み取られました。
これらは、画像について私が知っていることです:
~ 高さと幅
~ 合計サイズ (バイト単位)
~ 8 ビット グレースケール
~ 1 バイト/ピクセル
この画像をビットマップに変換してイメージビューに表示しようとしています。
これが私が試したことです:
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.outHeight = shortHeight; //360
opt.outWidth = shortWidth;//248
imageBitmap = BitmapFactory.decodeByteArray(imageArray, 0, imageSize, opt);
画像をデコードできないため、decodeByteArray はnullを返します。
また、最初にバイト配列に変換せずに、入力ストリームから直接読み取ろうとしました。
imageBitmap = BitmapFactory.decodeStream(imageInputStream, null, opt);
これもnullを返します。
このフォーラムや他のフォーラムを検索しましたが、これを達成する方法が見つかりません。
何か案は?
編集:最初に行ったのは、ストリームに実際に生の画像が含まれているかどうかを確認することでした。他のアプリケーション (iPhone/Windows MFC) を使用してこれを行いましたが、それらはそれを読み取って画像を正しく表示できます。Java/Android でこれを行う方法を理解する必要があります。