Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Рисование кривых и многоугольников на Canvas

#android #java


Работаю с 2d-графикой в Android с помощью класса Canvas. Существуют ли способы, позволяющие
рисовать:

Кривую второго порядка (quadratic curve)
Кривую третьего порядка (cubic curve)
Многоугольник (полигон) из массива точек [x, y]
    


Ответы

Ответ 1



Для этого существует класс Path. Многоугольник так: Path polygon = new Path(); polygon.moveTo(x1, y1); polygon.lineTo(x2, y2); polygon.lineTo(x3, y3); polygon.lineTo(x4, y4); polygon.lineTo(x5, y5); new Canvas().drawPath(polygon, new Paint()); Кривые второго и третьего порядка - так: Path curve = new Path(); curve.moveTo(x1, y1); curve.quadTo(x2, y2, x3, y3); //или //curve.cubicTo(x2, y2, x3, y3, x4, y4) new Canvas().drawPath(curve, new Paint());

Ответ 2



Можно рисовать с помощью OpenGL ES. Ссылок приводить не буду, ибо полно материала везде. Кроме того, Вы можете использовать сторонние библиотеки(может найдете что-тл полезное и там): ChartDroid AchartEngine Android Plot А вообще, если Вам это необходимо для игр, то есть много хороших игровых движков для дроида(но не только).

Комментариев нет:

Отправить комментарий