Мне нужно заполнить цветом область заданного многоугольника в пользовательском представлении.Я не могу найти метод, который мог бы использовать для этого вопроса.
На самом деле я могу рисовать только линии, соединяющие эти точки, но я не уверен, как заполнить область, окруженную ими.
Следующий код, который я использую для рисования линий:
for (Path p : paths) {
Paint color = p.getColor();
float strokeW = color.getStrokeWidth();
color.setStrokeWidth(pthStrokeWdth);
List<Point> currentPath = p.getCoordinateList();
for (int i = 1; i < currentPath.size(); i++) {
float startX = currentPath.get(i - 1).x;
float startY = currentPath.get(i - 1).y;
float endX = currentPath.get(i).x;
float endY = currentPath.get(i).y;
canvas.drawLine((startX * cellWidth) + xOffset + halfCellWidth, (startY * cellHeight) + yOffset + halfCellHeight,
(endX * cellWidth) + xOffset + halfCellWidth, (endY * cellHeight) + yOffset + halfCellHeight, color);
}
color.setStrokeWidth(originalStrokeWidth);
}
Вышеупомянутые линии рисуют линии между каждой точкой, образующей многоугольники с различными формами.Смотрите скриншот ниже.
Поэтому я бы хотел заполнить область внутри полигона, как показано ниже:
Спасибо за ваше время.