2016-11-19 4 views
-1

Я работаю над университетским проектом, в котором мне нужно визуализировать данные на смартфоне от датчиков давления, встроенных в стельку. Мне нужно нарисовать на View, как фон, след, что-то вроде изображения ниже, но только на одну ногу. Как нарисовать умную сложную форму в Android

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

Первой и единственной идеей, которую я имел, было то, чтобы взять CAD-представление стельки с ее реальными размерами, масштабировать ее в функции экрана и объединить ее, используя простые формы (дуга, круг, ecc ...). в Android. Таким образом я создаю Path, который будет составлять весь след, как только я нарисую его с помощью Canvas.

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

Есть ли (конечно, есть) более умный способ сделать это, экономя время и энергию?

Спасибо

+0

Android имеет поддержку .SVG (scallable векторной графики) файлы. Возможно, попробуйте рисовать стельки в каком-нибудь свободном редакторе (например, «svg editor»), загрузите файл, добавьте его в проект, а затем просто вызовите .setBackgroundResource (..) в своем представлении с идентификатором вашего .SVG-образа стельки ресурс. –

ответ

0

конечно, вы всегда можете использовать открытые GL ES

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

концепция для создания буфера поплавка со всеми точками вашей обуви, а затем сделать это с соединенными линиями на surfaceView

, чтобы получить звезду Тэд с открытым GL ES Вы можете использовать этот учебник: https://developer.android.com/guide/topics/graphics/opengl.html

и вот пример: https://developer.android.com/training/graphics/opengl/index.html

+0

Исправьте меня, если я ошибаюсь: мне нужно приблизиться к обуви с помощью ряда точек (например, 100), а затем соединить их с линией. Если я понял это, мне нужно только получить пару координат для каждой точки. Правильно ли это? – Marco

+0

ну да .. строка (скажем, открытая строка gl) требует 2 точки для рисования линии, и каждая точка имеет 2 оси (x и y). и вам не нужно делать это точно для каждой точки на рисунке. Например, если фигура уже имеет строковые линии в определенных частях, вы можете легко сделать эти части, а для кривых есть способ нарисовать круг или любую дугу с просто линиями ... искать тех .. – sharan