2016-07-13 8 views
0

バイナリデータを持つ.txtファイルがあります。このデータをバイト配列に入れ、この配列からイメージを表示しようとしています。イムは、このコードを使用して、私はビットマップを使用してバイト配列からイメージを表示する

FileInputStream inputStream; 
OutputStream out = null; 

int bytesRead=0; 
try{ 
    inputStream = new FileInputStream(file4.getPath()); 
    byte[] result = new byte[320*256*2]; 
    bytesRead = inputStream.read(result); 
    Bitmap bmp = BitmapFactory.decodeByteArray(result, 0, result.length); 

    ImageView image = (ImageView) findViewById(R.id.imageDisplay); 

    image.setImageBitmap(bmp); 



} catch (FileNotFoundException ex) { 
    ex.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 

}

は、コンパイル中にも実行に誤りがない...そこに間違いがあるが、イムない専門家のように、ビットマップでは知っているが、私がクリックしたときSkImageDecoder::Factory returned null

+0

'バイナリデータを持つ.txtファイルがあります。そのために.txtファイルを乱用しないでください。誰もプレーンテキストだけを期待しています。 – greenapps

+0

このバイナリデータがどのようにコード化されているかを知ることができます。または、あなたがどのように入力したかを示します。 – greenapps

+0

'SkImageDecoder :: Factory returned null'。あなたのコードにSkImageDecoderはありません。 BitmapFactoryのみ。だから、ポイントにしてください。 – greenapps

答えて

0

はあなたのコード

でこの変更をしようと助けてくれてありがとう:私はこれを持っている画像を表示するためのボタン210
+0

あなたの返事ありがとうございますが、問題はまだ同じです – Bob

+0

'inputStream'が正しく開かれたか、それともヌルですか?マニフェストで読み取りファイルのアクセス許可を設定しましたか? '' – ddb

+0

のパーミッションを追加して、それがバッファ長よりも小さいことを確認してください。あなたのイメージが320x256だと思っているので、それを割り当てようとしているなら、例えばJPEGでエンコードされたイメージストリームのサイズは、イメージの実際のピクセル数とかなりの関係があります。 –

関連する問題