Определить преобладающий цвет экрана

1

Как бы вы эффективно определяли преобладающий цвет экрана (вашего приложения) в Android, не предполагая ничего о представлениях на экране?

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

Для второго шага я подумывал масштабировать растровое изображение до пикселя 1x1 и позволить платформе выполнять обнаружение для меня, но я не уверен, что это возможно в Android.

  • 0
    Вам нужен рут для этого
Теги:
colors
bitmap
screen

1 ответ

0

Вы можете попробовать использовать getDrawingCache для генерации Bitmap из корневого макета (и нет, для этого вам не нужен root, по крайней мере внутри вашего собственного приложения). Здесь пример из тестовых версий Android, который показывает, как сделать что-то подобное.

Если вы хотите работать с приложениями других людей, вам понадобится возможность скриншотов, которая требует прав root.

  • 0
    Как насчет определения преобладающего цвета из растрового изображения?
  • 0
    Это зависит от того, как вы определяете «преобладающий цвет». Если вы просто имеете в виду прямое значение RGB, которое встречается чаще всего без квантования или чего-либо еще, то цикл по пикселям должен быть довольно простым. Если вы хотите что-то более сложное / интересное, вам может пригодиться этот вопрос SO: stackoverflow.com/questions/1106190/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню