Android color picker - обновление цветового массива - PullRequest
6 голосов
/ 09 октября 2009

Я пытаюсь создать палитру цветов для Android, которая выглядит как минималистичная версия Gimp. Таким образом, он имеет ползунок оттенка и прямоугольник с вариантами насыщенности / значения цвета, выбранного в ползунке оттенка.

Вопрос: как лучше всего создать прямоугольник?

Сейчас я создаю массив пикселей 200x200, но для создания и отображения прямоугольника с этим массивом требуется ~ 5 секунд. И мне нужно, чтобы цвета в прямоугольнике менялись всякий раз, когда я меняю значение в ползунке оттенка ...

Прямоугольник является растровым, кстати. Могу ли я использовать цветовые матрицы для этого и как? Есть примеры?

Заранее спасибо!

Ответы [ 4 ]

8 голосов
/ 05 октября 2010

Вы можете создать прямоугольник с вариантами насыщенности / значения, которые меняются в соответствии с выбранным оттенком, нарисовав прямоугольник с помощью LinearGradients.

Вы можете включить код здесь: http://code.google.com/p/android-color-picker/ в свое приложение. Кажется, это то, что вы хотите.

4 голосов
/ 28 апреля 2010

В OpenIntents есть очень приятный инструмент выбора цвета, который вы можете использовать. Его можно установить как самостоятельное приложение и запустить с помощью Intents.

0 голосов
/ 10 января 2011

Может ли это быть применено и к палитре цветов изображения?

Вариант использования:

  1. Выберите определенный пиксель на изображении.
  2. Выбранный пиксель создает цвет в форме прямоугольника.
  3. Возможно, создание цветовых кодов для выбранного пикселя?
0 голосов
/ 10 октября 2009

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

Я не особо разбирался в API 2D-графики, поэтому не знаю, есть ли другие возможности (например, цветовые матрицы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...