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