Получение значения цвета пикселя точки в представлении Android, которое включает холст с растровым изображением

Я пытаюсь выяснить лучший способ получить значение цвета пикселя в заданной точке на View . Есть три способа, которыми я пишу в View:

  1. Я устанавливаю фоновое изображение с помощью View.setBackgroundDrawable (...) .

  2. Я пишу текст, рисую линии и т. д. с Canvas.drawText (...) , Canvas.drawLine (...) и т. д. на Canvas с растровым изображением .

  3. Я рисую дочерние объекты (спрайты), заставляя их записывать в Canvas, передаваемый методу View onDraw (Canvas canvas) .

Вот метод onDraw () из моего класса, который extends View:

   @Override
   public void onDraw(Canvas canvas) {
      // 1. Redraw the background image.
      super.onDraw(canvas);
      // 2. Redraw any text, lines, etc.
      canvas.drawBitmap(bitmap, 0, 0, null);
      // 3. Redraw the sprites.
      for (Sprite sprite : sprites) {
        sprite.onDraw(canvas);
      }
    }

Как лучше всего получить значение цвета пикселя, учитывающее все эти источники?

15
задан Jeffrey Bosboom 20 March 2016 в 03:37
поделиться