Страницы

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

среда, 24 октября 2018 г.

Равносторонний треугольник на Canvas

Хочу нарисовать равносторонний треугольник на 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)

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

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