2

我需要从图库中挑选一张图片,然后将其转换为字节数据。我知道如何从画廊中挑选图片。我也知道如何将图像转换为字节数据。但问题是我转换了可绘制的图像,但现在我需要从图库中选择它并将其转换为字节码。任何帮助谢谢在 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();

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

4

1 回答 1

2

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像现在一样处理。

于 2012-10-17T20:21:55.643 回答