Почему мои обои для домашнего экрана повреждены?

Привет, я кодирую, чтобы установить Обои для рабочего стола. Он работает нормально. Но мой пиксель изображения полностью поврежден, а затем мои обои не соответствуют реальному размеру главного экрана. Я пытаюсь развить разные размеры изображений. К сожалению, это не работает для меня. Как это решить.

Мой код здесь

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(); } 

Мой скриншот
Введите описание изображения здесь

Мой экранный экран Android Emulator
Введите описание изображения здесь

Почему мое оригинальное изображение повреждено здесь.
Как отобразить My Original Image на основе Emulator Size .

Solutions Collecting From Web of "Почему мои обои для домашнего экрана повреждены?"

Вы можете попробовать следующее:

 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(); } 
 WallpaperManager wallpaperManager = WallpaperManager.getInstance(activity); BitmapFactory.Options myOptions = new BitmapFactory.Options(); myOptions.inDither = true; myOptions.inScaled = false; myOptions.inPreferredConfig = Bitmap.Config.ARGB_8888; myOptions.inDither = false; myOptions.inPurgeable = true; Bitmap preparedBitmap = BitmapFactory.decodeResource(activity .getApplication().getResources(), R.drawable.newimage, myOptions); try { wallpaperManager.setBitmap(preparedBitmap); } catch (IOException e) { e.printStackTrace(); } 

Это то, что я использую для того, чтобы мои изображения хорошо масштабировались без сумасшедших линий, проходящих через них – вы можете попробовать это для обоев – не уверен, работает ли это, дайте мне знать.