Android - 将位图拟合到屏幕

ari*_*n12 2 height android landscape bitmap width

我有这个项目,我有一个比屏幕大小更大的位图.我想调整它以适应屏幕.我没有标题栏,而且我处于全屏模式.这是我的非工作代码:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里使用createScaledBitmap方法时,我将自己用作源,并使用一个活动中的一些变量来从屏幕首选项中检索窗口高度和宽度.

Sha*_*wal 11

您可以使用以下代码来调整位图的大小.

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