2

我通常会下载尺寸较大的图像并使用图像视图缩小它们,但最近我试图处理我的应用程序无法在较小的网络连接上运行,所以我想知道如何在图像到达设备后增加图像的大小. 我尝试在图像视图中调整图像大小,但图像视图不会大于原始图像。我确信有一种非常简单的方法可以增加或放大设备上的图像,但我还没有遇到过。

那么.....我怎样才能增加图像的大小。我想把它炸毁并在图像视图中使用它,但我处理的图像只有 128X256,我想将它们扩展到大约 512X1024。

4

4 回答 4

5

尝试使用此方法:

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 OutofMemoryException

于 2012-06-26T07:50:52.387 回答
2

使用矩阵来调整位图的大小。

检查此 调整大小位图

于 2012-06-26T08:04:07.787 回答
0

The functionality to scale image up or down is readily available via android.graphics library:

Bitmap bitmapScaled = Bitmap.createScaledBitmap(Bitmap bitmapOrig, int widthNew, int heightNew, boolean filter);
于 2014-06-25T22:47:28.460 回答
0

如果要手动缩放位图,Bitmap.createScaledBitmap()可以使用一种方法。
如果您希望 ImageView 处理此问题,则必须将layout_width/设置layout_height为其他内容,wrap_content否则它将始终缩小到位图的大小。然后您需要将scaleType属性更改为实际缩放位图的类型。

于 2012-06-26T08:02:30.617 回答