android - ImageView 显示 PNG 但不显示 JPEG

标签 android imageview jpeg

strong text我正在尝试从图库中加载图片并将其显示在 ImageView 中,PNG 图片显示正常,但 JPG 图像根本不显示,我不知道为什么

这是代码:

public void openGa(View view){
        //create a ga||ery intent and set the action to pick an object
      Intent galleryIntent = new Intent(Intent.ACTION_PICK);
        //set the destination of the intent when it opens to pictures
        File destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
        //get the path as a string to cast to URI
        String path = destination.getAbsolutePath();
        //cast the path to uri
        Uri pathUri = Uri.parse(path);
        //set hte information of the intetn destination and types to |ook for
        galleryIntent.setDataAndType(pathUri, "image/*");
        //start activity for resu|t
        startActivityForResult(galleryIntent, REQUEST_PHOTO_GALLERY);
    }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == REQUEST_PHOTO_GALLERY && resultCode == RESULT_OK){
            //get the image as uri
            Uri imageUri = data.getData();
            try {
                //creat and input stream and send tp it the uri to be ab|e to access the image
                InputStream inputStream = getContentResolver().openInputStream(imageUri);
                //decode the image in the input stream into a bitmap
                Bitmap chosenImage = BitmapFactory.decodeStream(inputStream);

                ImageView i = (ImageView)findViewById(R.id.imageView);
                i.setImageBitmap(chosenImage);

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }

这是我的 xml

 TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

           <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/dispImage"
        android:src="@drawable/phone"
        android:onClick="openGa"
        android:layout_weight="1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView" />
</TableRow>
</TableLayout>

最佳答案

jpg 太大,无法在 ImageView 中显示。由于内存不足,BitmapFactory 无法为它们创建位图。亲自看看 chosenImage 变为 null。

加载时重新缩放位图。

尝试使用较小的 .jpg 来查看大小的重要性。

关于android - ImageView 显示 PNG 但不显示 JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38308292/

相关文章:

image-processing - 在变换域中将 JPEG 快速缩放到一半或四分之一

ios - 错误的 JPEG 库版本 : library is 80, 调用者期望 70

android - Android Studio强制关闭,现在android studio在每个项目的每个类中到处都有错误

java - 无法将 TextView 设置为 VISIBLE

java - Android 使用 GoogleApiClient 获取用户位置纬度和经度

android - 在 Android 上动态添加 imageViews

android - MediaStore.Images.Media.getBitmap 和内存不足错误

接受图像上传时的安全问题

android - 膨胀类 android.support.v7.widget.RecyclerView(Eclipse) 时出错

android - 具有 Material 设计的自定义搜索栏