我正在从网上下载图片,我使用图库小部件来显示图像。
如果下载的图片大小很大,我的应用程序会崩溃并显示以下日志。
"E/GraphicsJNI( 3378): VM won't let us allocate 5591040 bytes"
我希望仅在图片大小超出应用程序崩溃程度时缩小下载的图片大小。我已经编写了缩小图像大小的代码,但我不知道如何找到位图大小,以便我可以决定是否缩放
BitmapFactory.Options o = new BitmapFactory.Options();
o.inSampleSize = 2;
Bitmap bit = BitmapFactory.decodeStream(inputStream,null,o);
Bitmap scaled = Bitmap.createScaledBitmap(bit, 200, 200, true);
bit.recycle();
return scaled;
答案 0 :(得分:4)
要获取位图尺寸,您只需使用:
获得身高 - > bitmap.getHeight() 获得宽度 - > bitmap.getWidth()
答案 1 :(得分:3)
使用BitmapFactory.Options
的{{3}}字段获取位图尺寸。