1

AndroidエミュレータSDカードから画像のバイト[]を取得するにはどうすればよいですか?

ここに私の現在のコードがあります:

File f = new File("/mnt/sdcard/test.jpg");
ImageView mImgView1 = (ImageView)findViewById(R.id.iv);
Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath());

私が欲しいのは、画像のバイト形式です。どうすればこれを行うことができますか?

4

2 に答える 2

4

ByteArrayOutputStreamのthen callcompress()メソッドを作成してBitmap、ビットマップの内容が渡されByteArrayOutputStream、に変換されるようにします。byte[]

public byte[] bitmapToByteArray(Bitmap b)
{
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    b.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] byteArray = stream.toByteArray();
    return byteArray;
}

適用する、

Bitmap bmp = BitmapFactory.decodeFile(file.getAbsolutePath());

byte[] bitmapBytes = bitmapToByteArray(bmp);
于 2013-02-25T03:41:40.130 に答える
0

次のように Bitmap を byte[] に変換できます。

String imageInSD = Environment.getExternalStorageDirectory().getAbsolutePath() +"/Folder/" + filename + ".PNG";
Bitmap bmp = BitmapFactory.decodeFile(imageInSD);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
于 2013-02-25T03:40:21.810 に答える