3
我正在用Java创建此Android游戏。但是,我加载位图,然后调整它们以适合屏幕等等(dpi不是确切的)。但我的想法也是在16b(mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_4444)中加载少量RAM的位图。但是,当我调整位图大小时,它们似乎回到32b(Bitmap.Config.ARGB_8888)。Android,Java:调整大小的位图忽略位图选项
这是我的声明选项:
mBitmapOptions = new BitmapFactory.Options();
mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_4444;
这是我如何加载位图:
mBitmaps.add(getResizedBitmap(BitmapFactory.decodeResource(mResources, imagePath, mBitmapOptions)));
这是getResizeBitmap方法:
public Bitmap getResizedBitmap(Bitmap bm)
{
//Original size
int width = bm.getWidth();
int height = bm.getHeight();
//New size (percent)
float newWidth = 1 * mScaleWidth;
float newHeight = 1 * mScaleHeight;
//Create the matrix
Matrix matrix = new Matrix();
matrix.postScale(newWidth, newHeight);
//Recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
//Recycle the old Bitmap
bm.recycle();
return resizedBitmap;
}
任何想法为什么新的位图会忽略这些选项?
这是我的想法,我看到有些方法接受一个配置作为参数,但我无法弄清楚如何将它应用于我需要的其他参数。你能告诉我怎么样? – Rasmus 2013-03-08 12:13:19
对不起,有点困惑。看到我编辑的答案。 – Shade 2013-03-08 12:14:13
我之前做过调整大小的方式,但是Bitmap的质量下降了ALOT。但是使用它没有的矩阵进行缩放。 – Rasmus 2013-03-08 12:16:04