如何在运行时将位图缩放到非常小的尺寸,然后将它们存储在内部存储中?如何在运行时从存储中调用缩放的位图到程序中,如果不存在,则从drawable文件夹中调用它,缩放它,将其写入存储,然后将其绑定到视图。
答案 0 :(得分:0)
您可以使用BitmapFactory.Options
类将图片裁剪为任意大小。
您可以使用以下内容:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.inSampleSize = 8; // 1/8th of actual image.
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;
这里,当你使用Bitmap时,总是调用它的bmp.recycle()
方法,因为GC无法清除Bitmap所拥有的内存,如果你的位图没有被垃圾收集,那么你也得到了OME。 / p>
答案 1 :(得分:0)
如果要缩放位图,可以使用Bitmap.createScaledBitmap
要将任意位图缩放到32x32,您可以按如下方式进行:
Bitmap smallBitmap = Bitmap.createScaledBitmap( fullSizeBitmap, 32, 32, true );