0
我有一個功能,我用它來從可繪製文件夾返回位圖。 (我不使用可繪製的DPI文件夾,浪費時間)屏幕尺寸百分比計算器返回錯誤尺寸
無論如何,該函數檢索位圖,位圖以視圖端口大小的指定百分比形式返回。
目前它返回比例如接地元件的指定的百分比少:
百分比應該是480個像素的寬度的100%。顯然這應該是480,但它返回400?我必須在這裏失去了一些簡單的數學出什麼好歹的代碼如下:(?還我應該使用createscaledbitmap)
public Bitmap getBitmapSized(String name, int percentage, int screen_dimention, int frames, int rows)
{
_tempInt = _context.getResources().getIdentifier(name, "drawable", _context.getPackageName());
_tempbitmap = (BitmapFactory.decodeResource(_context.getResources(), _tempInt, _BM_options));
_bmWidth = _tempbitmap.getWidth()/frames;
_bmHeight = _tempbitmap.getHeight()/rows;
_newWidth = (screen_dimention/100) * percentage;
_newHeight = (_newWidth/_bmWidth) * _bmHeight;
//Round up to closet factor of total frames (Stops juddering within animation)
_newWidth = _newWidth * frames;
//Output the created item
Log.w("Screen Width: ", Integer.toString(screen_dimention));
Log.w(name, "Item");
Log.w(Integer.toString((int)_newWidth), "new width");
Log.w(Integer.toString((int)_newHeight), "new height");
//Create new item and recycle bitmap
Bitmap newBitmap = Bitmap.createScaledBitmap(_tempbitmap, (int)_newWidth, (int)_newHeight, false);
_tempbitmap.recycle();
System.gc();
return newBitmap;
}
感謝這個修復它,我知道這是簡單的東西,只是無法弄清楚。 –