如何在不丢失图像质量的情况下使图像尺寸适合设备屏幕尺寸?

时间:2014-06-30 10:40:29

标签: java android

您好我正在尝试在Android中执行壁纸应用程序。我无法将图像设置为设备屏幕大小。当我将其设置为壁纸时,图像也会失去质量。我也试过了一些stackoverflow的答案,但那些没有给我正确的结果。

这是我的代码:

            public void onClick(View arg0) {

            WallpaperManager myWallpaperManager= WallpaperManager.getInstance(getApplicationContext());

           DisplayMetrics metrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metrics);
            // get the height and width of screen
            int height = metrics.heightPixels;
            int width = metrics.widthPixels;
            try {
                Bitmap bitmap=((BitmapDrawable)imgflag.getDrawable()).getBitmap();
                if(bitmap!=null)
                    myWallpaperManager.setBitmap(bitmap);
                myWallpaperManager.suggestDesiredDimensions(width, height);
                Toast.makeText(SingleItemView.this, "Wallpaper Set", Toast.LENGTH_SHORT).show();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


        }

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我想您尝试将缩略图(缩放)图像设置到屏幕上。

试试这段代码:

Bitmap bitmap = BitmapFactoty.decodeFile(path); // or decodeResource, decodeStream, etc
    // depends on your source

而不是:

Bitmap bitmap=((BitmapDrawable)imgflag.getDrawable()).getBitmap();

此源必须包含大位图。