Я хочу знать, есть ли какой-то способ определить, касается ли в данный момент пути или пересекает существующий путь. Существующий путь либо нарисован, либо частично фоновым. Было бы полезно, если я смогу найти это после, текущий путь полностью нарисован. В худшем случае, могу ли я выполнить некоторую поэтапную проверку, чтобы увидеть, касаются ли два пути?Обнаружение перекрывающихся путей в Android
ответ
Используйте путь для определения строки, а затем установите android.graphics.Region на этот путь. Позже проверить все регионы друг против друга кастрированный баран они пересекаются или не
region1.op(region2, Op.INTERSECT);
Это, безусловно, не работает, так как область является замкнутой дорогой, и он не рисует замкнутые пути во все времена? Или я чего-то не хватает? – erbsman
Если он что-то рисует, он будет иметь ширину и в размере x & y. Он мог бы построить замкнутый путь вокруг него, по крайней мере, один из которых был бы шириной. – Bondax
Любая идея, как я могу создать Path из массива PointF []? У меня есть координаты всех точек в этом массиве. – deeJ
Вы можете сохранить строки в списке, а затем проверить линию, которую вы рисуете, против каждой строки в списке, чтобы увидеть, пересекается ли она. Вы найдете множество ответов о том, как обнаружить пересечение линий здесь в stackoverflow.
ArrayList<Pair<Pair<Integer,Integer>,Pair<Integer,Integer>>> lineList = new ArrayList<Pair<Pair<Integer, Integer>, Pair<Integer, Integer>>>();
// add all your lines to the list
// lineList.add(line);
// handle the last line
int startX = 10;
int startY = 20;
int endX = 40;
int endY = 50;
Pair<Integer,Integer> lineStart = new Pair<Integer, Integer>(startX, startY);
Pair<Integer,Integer> lineEnd = new Pair<Integer, Integer>(startX, startY);
Pair<Pair<Integer,Integer>,Pair<Integer,Integer>> lastLine = new Pair<Pair<Integer, Integer>, Pair<Integer, Integer>>(lineStart, lineEnd);
for(Pair<Pair<Integer,Integer>,Pair<Integer,Integer>> l: lineList){
// if "lastLine" intersects "l" do you stuff
}
Интересно, как сохранить строку в списке. Я сохраняю координаты всех пикселей линии? – deeJ
просто сохраните пару пар. int startX = 10; int startY = 20; int endX = 40; int endY = 50; Пара
Это не будет работать для кривых линий, верно? Простите, если это не было связано с вопросом. – deeJ
- 1. Обнаружение перекрывающихся событий
- 2. Обнаружение перекрывающихся кругов в OpenCV
- 3. Обнаружение перекрывающихся диапазонов в Рубине
- 4. Обнаружение перекрывающихся объектов в java Swing
- 5. Обнаружение перекрывающихся объектов с использованием matlab
- 6. Эффективное обнаружение перекрывающихся интервалов из списка интервалов
- 7. Raphael- Обнаружение перекрывающихся элементов при перетаскивании
- 8. Android GridView Текст перекрывающихся
- 9. кнопка Android RelativeLayout перекрывающихся
- 10. Два перекрывающихся ImageViews в Android
- 11. Android: замена двух перекрывающихся просмотров
- 12. Рисование нескольких путей в android
- 13. Android Понимание путей хранения
- 14. Android: рисование нескольких путей
- 15. Как создать несколько перекрывающихся представлений в Android
- 16. Обнаружение множественных перекрывающихся элементов формы SVG на событиях мыши
- 17. Обнаружение касательных/перекрывающихся кругов/эллипсов с помощью OpenCV и Python
- 18. Обнаружение количества четных путей от корня в дереве
- 19. Обнаружение браузера в android
- 20. Обнаружение столкновений в Android
- 21. обнаружение роуминга в android
- 22. Обнаружение попадания в android
- 23. Обнаружение лиц в Android
- 24. Обнаружение экрана в Android
- 25. Обнаружение пинча в Android
- 26. Обнаружение Sdcard в Android?
- 27. Обнаружение клавиатуры в android
- 28. Обнаружение устройства Android Android
- 29. android: обработка события касания для перекрывающихся видов
- 30. Android перекрывающихся просмотров при использовании WindowManager
Добавление ссылки на скриншот, как она выглядит, и некоторые ссылки на Что видел может помочь прояснить вещи немного. – erbsman
Добавлен скриншот. – deeJ