Хочу нарисовать равносторонний треугольник на Canvas, у меня получается четырехугольник, как это исправить?
Point a = new Point(0, 100);
Point b = new Point(50, 0);
Point c = new Point(100, 100);
Paint triangle = new Paint();
triangle.setColor(Color.RED);
Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
path.lineTo(b.x, b.y);
path.lineTo(c.x, c.y);
path.lineTo(a.x, a.y);
path.close();
canvas.drawPath(path, triangle);
Ответ
Point a = new Point(0, 100);
Point b = new Point(50, 0);
Point c = new Point(100, 100);
Paint triangle = new Paint();
triangle.setColor(Color.RED);
Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
path.moveTo(a.x, a.y); //добавьте эту строку
path.lineTo(b.x, b.y);
path.lineTo(c.x, c.y);
path.lineTo(a.x, a.y);
path.close();
canvas.drawPath(path, triangle);
Это потому, что вы не выставляете начальную точку (которая поумолчанию получается в 0,0)
Комментариев нет:
Отправить комментарий