Android - Fitting bitmap to screen

android, bitmap, height, landscape, width

Solution

You can use the below code to resize the bitmap.

int h = 320; // Height in pixels
int w = 480; // Width in pixels    
Bitmap scaled = Bitmap.createScaledBitmap(largeBitmap, h, w, true);

Problem

I have this project in which I have a bitmap bigger than the screen size. I want to resize it to fit the screen exactly. I have no titlebar, and I am in fullscreen mode. This is my non-working code: ``` public class ScopView extends View { private Scop thescop; public ScopView(Context context, Scop newscop) { super(context); this.thescop = newscop; } @Override public void onDraw(Canvas canvas) { Bitmap scopeBitmap; BitmapFactory.Options bfOptions = new BitmapFactory.Options(); bfOptions.inDither = false; bfOptions.inPurgeable = true; bfOptions.inInputShareable = true; bfOptions.inTempStorage = new byte[32 * 1024]; scopeBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.scope, bfOptions); scopeBitmap.createScaledBitmap(scopeBitmap, SniperActivity.Width, SniperActivity.Height, false); canvas.drawBitmap(scopeBitmap, SniperActivity.scopx, SniperActivity.scopy, null); } } ``` While in here the createScaledBitmap method, I am using itself as the source, and some variables from an activity used to retrieve the window height and width from screen preferences.

Original source