2012-10-17 65 views
1

我需要從圖庫中選擇圖像,然後將其轉換爲字節數據。我知道如何從圖庫中挑選圖像。另外我知道如何將圖像轉換爲字節數據。但問題是我轉換圖像是可繪製的,但現在我需要從庫中選擇它並將其轉換爲字節碼。任何幫助 感謝 在的onClick功能,我使用這個代碼從畫廊從圖庫中挑選圖像並轉換爲字節數據如何?

Intent image = new Intent(Intent.ACTION_GET_CONTENT); 
     image.setType("Image/*"); 
     startActivityForResult(image, 0); 

挑形象,我用下面的代碼轉換圖像是在繪製成字節數據。

bm = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); 
     data = new ByteArrayOutputStream(); 
     bm.compress(Bitmap.CompressFormat.JPEG, 40 , data); 
    bitmapdata = data.toByteArray(); 

現在我會如何將圖片從圖庫轉換爲字節數據。 感謝

+0

我沒有得到任何指示,我會怎麼做。我可以將代碼轉換成字節數據粘貼到可繪製的圖像中。我應該粘貼嗎? –

+0

你說過:「*我知道如何從畫廊中挑選圖片。」「你做這個的方法是什麼? – Eric

+0

from drawable很容易,我只需要做圖像的R.drawable.name –

回答

1

onActivityResult您將收到Uri與您所選圖片是這樣的:

Bitmap bitmap = 
     MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri); 

在這之後,你應該:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(requestCode == PICK_IMAGE && data != null && data.getData() != null){ 
     Uri imageUri = data.getData(); 
     //.... 
    } 
} 

然後從MediaStore你應該使用檢索像現在這樣處理Bitmap

+0

要檢索的代碼將在onActivityResult方法中?如果我在這個方法之外使用這個方法,我得到錯誤:::: \t - 默認構造函數不能處理異常類型FileNotFoundException由隱式超級拋出 \t構造函數。必須定義一個明確的構造函數 \t - 默認構造函數無法處理由隱式超級構造函數拋出的異常類型IOException。 \t必須定義一個顯式構造函數 –

相關問題