Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么android gallery中的我的图像没有缩小?_Android_Image_Resize - Fatal编程技术网

为什么android gallery中的我的图像没有缩小?

为什么android gallery中的我的图像没有缩小?,android,image,resize,Android,Image,Resize,我想缩小图像,使其适合我的图像按钮的大小。在这段代码中,我打开了图库,然后可以选择图像。问题是图像没有缩小,尽管我在代码中这样说。 为什么这不起作用 private static final int NEW_WIDTH = 10; private static final int NEW_HEIGHT = 10; protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent

我想缩小图像,使其适合我的图像按钮的大小。在这段代码中,我打开了图库,然后可以选择图像。问题是图像没有缩小,尽管我在代码中这样说。 为什么这不起作用

private static final int NEW_WIDTH = 10;
private static final int NEW_HEIGHT = 10;

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

    switch(requestCode) { 
    case SELECT_PHOTO:
        if(resultCode == RESULT_OK){  
            Uri selectedImage = imageReturnedIntent.getData();
            String[] filePathColumn = {MediaStore.Images.Media.DATA};

            Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String filePath = cursor.getString(columnIndex);
            cursor.close();


            Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
            Bitmap.createScaledBitmap(yourSelectedImage, NEW_WIDTH, NEW_HEIGHT, false);
            mImageButton.setImageBitmap(yourSelectedImage);
        }
    }
}

好的,我自己解决了这个问题

而不是:

Bitmap.createScaledBitmap(yourSelectedImage, NEW_WIDTH, NEW_HEIGHT, false);
mImageButton.setImageBitmap(yourSelectedImage);
输入:

Bitmap bMapScaled = Bitmap.createScaledBitmap(yourSelectedImage, NEW_WIDTH, NEW_HEIGHT, true);
mImageButton.setImageBitmap(bMapScaled);
我发现这篇文章非常有用:

如何使用ImageButton.setScaleType(int)(请参阅)?