обои для Android onOffsetsChanged image shadow

#android #wallpaper #live-wallpaper

#Android #Обои #живые обои

Вопрос:

 public void onOffsetsChanged(float xOffset, float yOffset,
float xOffsetStep, float yOffsetStep, int xPixelOffset,
int yPixelOffset) {
  

после onOffsetsChanged я запускаю свой метод рисования, который имеет

 c.drawBitmap(_background, xPixelOffset, 0, null);
  

когда я провожу пальцем вправо по экрану, изображение отображается правильно.

Но если я прокручиваю до конца влево, правая часть изображения повторяется по шаблону…нравится вместо отображения…скажем, a … X на экране, он показывает XXXXXXXXXXXXXXXXXX, как эффект тени

Я пробовал изображения разной ширины, некоторые лучше, некоторые хуже … но, похоже, я не могу точно определить проблему

Не мог бы кто-нибудь прокомментировать, почему это может происходить?

Спасибо

Комментарии:

1. Насколько велико ваше фоновое растровое изображение? Насколько велик ваш холст?

Ответ №1:

Я бы предположил, что вы рисуете свое смещение растрового изображения, поэтому оно не полностью прорисовывает поверхность, а артефакты, которые вы видите, — это просто ранее нарисованный мусор, оставшийся на поверхности, к которому вы не прикасались при рисовании нового фрейма. Вам нужно будет либо стереть его до какого-то цвета, либо не позволять растровому изображению перемещаться таким образом, чтобы оно больше не покрывало всю поверхность.