为什么我的主屏幕壁纸损坏了?

Sek*_*kar 9 android

嗨,我正在编码设置主屏幕壁纸.它工作正常.但我的图像像素完全损坏,然后我的壁纸不适合主屏幕的实际大小.我尝试锻炼不同大小的图像.不幸的是,它不适合我.如何解决它.

我的代码在这里

WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
Drawable drawable = getResources().getDrawable(R.drawable.newimage);
Bitmap wallpaper = ((BitmapDrawable) drawable).getBitmap();           
try 
{
    wallpaperManager.setBitmap(wallpaper);
} 
catch (IOException e) 
{
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

我的截图原始图像
在此输入图像描述

我的屏幕截图Android模拟器主屏幕
在此输入图像描述

为什么我的原始图像在这里受损.
如何显示My Original Image基于Emulator Size.

ALi*_*Tec 7

你可以试试这个:

WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
Drawable drawable = getResources().getDrawable(R.drawable.newimage);
Bitmap wallpaper_source = ((BitmapDrawable) drawable).getBitmap();           
try {
    int w = wallpaperManager.getDesiredMinimumWidth();
    int h = wallpaperManager.getDesiredMinimumHeight();
    int x = (w-wallpaper_source.getWidth())/2;
    int y = (h-wallpaper_source.getHeight())/2;
    Bitmap wallpaper = Bitmap.createBitmap(w, h, Config.ARGB_8888);
    Canvas c = new Canvas(wallpaper);
    c.drawBitmap(wallpaper_source, x,y, null);
    wallpaperManager.setBitmap(wallpaper);
} 
catch (IOException e) 
{
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)