从图库中选择图像并转换成字节数据如何?

时间:2012-10-17 19:02:18

标签: android image gallery

我需要从图库中选择一个图像,然后将其转换为字节数据。我知道如何从画廊中挑选图像。我也知道如何将图像转换为字节数据。但问题是我转换可绘制的图像,但现在我需要从库中选择它并将其转换为字节代码。任何帮助 谢谢 在onClick函数中,我使用此代码从库中选择图像

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

我使用以下代码将drawable中的图像转换为字节数据。

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

现在我如何将图像从图库转换为字节数据。 感谢

1 个答案:

答案 0 :(得分:1)

onActivityResult中,您将收到所选图片的Uri,如下所示:

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

然后从你应该使用的MediaStore中检索它:

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

之后,您应该像现在一样处理Bitmap