选择图库图像并转换为位图?

时间:2013-03-27 17:39:31

标签: android bitmap android-imageview bitmapimage

我正在尝试从图库中选择一张图片,将其转换为Bitmap,并将其显示在ImageView中。

以下代码用于从图库中选择图片

    Intent pickPhoto = new Intent(
            Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(pickPhoto, 1);`

onActivityResult我将其转换为Bitmap并将其显示在ImageView

protected void onActivityResult(int requestCode, int resultCode,
        Intent imageReturnedIntent) {
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
    switch (requestCode) {
    case 1:
        if (resultCode == RESULT_OK) {
            Uri selectedImage = imageReturnedIntent.getData();
            BitmapFactory.Options options = new BitmapFactory.Options();
            options.inSampleSize = 4;//returning null for below statement
            bitmap = BitmapFactory.decodeFile(selectedImage.toString(), options);
            productItemImage.setImageBitmap(bitmap);
        }
        break;
    }
}

所选图像Uri中的值将返回为“content:// media / external / images / media / 3647”

productItemImage是我显示ImageView的{​​{1}}。没有错误,但位图返回null。

请帮助

1 个答案:

答案 0 :(得分:-1)

问题可能是super.onActivityResult()功能中的onActivityResult()来电。

这是我去年写的一个答案,它给出了你想要做的事情的完整例子,并且允许你从相机和画廊中选择:Allow user to select camera or gallery for image(这个答案有很高的分数,所以我认为这会对你有帮助。)