2013-02-25 83 views
1

我怎樣才能從android模擬器SD卡的圖像字節[]?圖像從SD卡到字節[]

這裏是我當前的代碼:

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

我要的是像我怎麼能做到這一點的字節格式?

回答

4

創建ByteArrayOutputStream然後調用方法Bitmap這樣的位圖的內容將在ByteArrayOutputStream傳遞compress(),並轉換爲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); 
0

您可以將位圖爲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();