Обнаружение цвета в BitMap на ощупь

Можно ли обнаружить по цвету touch с Bitmap на Android?

Экран будет выглядеть так:

black arrow это Bitmap объект, который пользователь может перемещать вверх и вниз. Он должен определять, когда черная стрелка касается синей линии, и добавлять точки для каждого second что это коснулось линии.

Возможно, стоит отметить, что стрелку можно перемещать только вверх и вниз, а синие линии - это то, что движется справа налево.

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

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

Строка сделана с помощью GraphView, и поэтому я не могу воспринимать это как "объект". Подробнее о graphview - http://www.android-graphview.org/

Если есть необходимость в исходном коде, я могу это предоставить, но я бы предпочел не делиться им сразу.

РЕДАКТИРОВАТЬ Я пытался использовать пиксели и определять цвет таким образом, но я не получил его на работу.

1 ответ

Для данного пикселя х и у:

ImageView imageView = (ImageView)v;
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
int pixel = bitmap.getPixel(x,y);

int redValue = Color.red(pixel);
int blueValue = Color.blue(pixel);
int greenValue = Color.green(pixel);

Ссылка здесь.

Другие вопросы по тегам