Рисуем правильный многоугольник
- public static Path getPolygon(int corners, int radius, int x, int y) {
- float to_x, to_y;
- Path path = new Path();
- int angle = 360 / corners;
- path.moveTo(x + radius , y);
- for (int j = 1; j < corners; j++) {
- to_x = (float)(x + radius * Math.cos(Math.toRadians(j * angle)));
- to_y = (float)(y + radius * Math.sin(Math.toRadians(j * angle)));
- path.lineTo(to_x , to_y);
- }
- return path;
- }
corners — количество углов;
radius — радиус описанной окружности;
x, y — координаты центра фигуры.
Пример использования:
Нарисует шестиугольник посередине экрана.
radius — радиус описанной окружности;
x, y — координаты центра фигуры.
Пример использования:
- Canvas canvas;
- int width, height;// размеры экрана
- ...
- Paint paint = new Paint();
- paint.setColor(Color.YELLOW);
- canvas.drawPath(getPolygon(6, 100, width / 2, height / 2), paint);