Android регистрирует сенсорные события на видимой части изображения? - PullRequest
1 голос
/ 25 сентября 2011

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

- Я тестировал с AndEngine, и, похоже, у них есть несколько вариантов: я пробовал все, что смог найти, но безрезультатно.

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

Любая помощь очень ценится!

1 Ответ

1 голос
/ 25 сентября 2011

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

int color = Bitmap.getPixel(x,y); // x and y are the location of the touch event in Bitmap space
int alpha = Color.getAlpha(color);
boolean isTransparent = (alpha==0);

Примечание. В зависимости от того, как вы реализуете свой сенсорный приемник, может потребоваться преобразовать местоположение x, y события касания в координаты x, yпросмотр изображения.

...