Android-如何放大位图

Android-如何放大位图,android,bitmap,android-imageview,Android,Bitmap,Android Imageview,我通常会下载较大的图像,并使用imageview缩小它们,但最近我试图处理我的应用程序,而不是在较小的网络连接上工作,因此我想知道,一旦图像到达设备上,如何增加图像的大小。我尝试过在imageview中调整图像的大小,但imageview不会比原始图像大。我相信有一个非常简单的方法来增加或放大设备上的图像,但我还没有遇到它 那么……我如何增加图像的大小呢。我想将其放大并在imageview中使用,但我处理的图像只有128X256,我想将它们扩展到512X1024左右。尝试使用以下方法: publ

我通常会下载较大的图像,并使用imageview缩小它们,但最近我试图处理我的应用程序,而不是在较小的网络连接上工作,因此我想知道,一旦图像到达设备上,如何增加图像的大小。我尝试过在imageview中调整图像的大小,但imageview不会比原始图像大。我相信有一个非常简单的方法来增加或放大设备上的图像,但我还没有遇到它

那么……我如何增加图像的大小呢。我想将其放大并在imageview中使用,但我处理的图像只有128X256,我想将它们扩展到512X1024左右。

尝试使用以下方法:

public static Bitmap scaleBitmap(Bitmap bitmapToScale, float newWidth, float newHeight) {   
if(bitmapToScale == null)
    return null;
//get the original width and height
int width = bitmapToScale.getWidth();
int height = bitmapToScale.getHeight();
// create a matrix for the manipulation
Matrix matrix = new Matrix();

// resize the bit map
matrix.postScale(newWidth / width, newHeight / height);

// recreate the new Bitmap and set it back
return Bitmap.createBitmap(bitmapToScale, 0, 0, bitmapToScale.getWidth(), bitmapToScale.getHeight(), matrix, true);  } 

请参阅我在中的回答:

如果您想手动缩放位图,有一种方法可用于此操作。

如果希望ImageView处理此问题,则必须将
布局宽度
/
布局高度
设置为
包裹内容
以外的值,否则它将始终缩小到位图的大小。然后需要将
scaleType
属性更改为实际缩放位图的类型。

使用矩阵调整位图的大小

检查这个

可通过android.graphics library随时提供向上或向下缩放图像的功能:

Bitmap bitmapScaled = Bitmap.createScaledBitmap(Bitmap bitmapOrig, int widthNew, int heightNew, boolean filter);

你试过使用android:scaleType=“fitXY”吗?我想我试过使用不同的缩放类型,但它们似乎不能满足我的特殊需要,除非我没有正确使用它们。
fitXY
意味着图像将根据其所在视图的边界进行缩放,这就是你的尺度类型谢谢这个方法,我本来以为它会很简单,但是编程一整天之后,我的大脑就没有了动力,哈哈。我只是对你的方法有一个问题……为什么在你调用matrix.postScale()时,你要将新的维度除以旧的维度?这难道不会使矩阵返回的值比我扩展图像的目标小得多吗?我曾尝试使用此方法,但尝试使用该方法扩展或增加图像的大小对我来说是一个错误。这是因为不能比原始图像放大。