Есть ли способ рисовать заполненную область с помощью Canvas без использования Path?

Мне интересно, есть ли способ рисовать заполненные области (например, заполненный многоугольник) с помощью Android Canvas без использования класса Path и вызова canvas.drawPath(...) .

Причина, по которой я хочу сделать это без Path заключается в том, что мне приходится рисовать очень большие наборы данных, а canvas.drawPath(...) не является аппаратным ускорением и, следовательно, медленным.

Производительность при использовании canvas.drawLines(...) намного лучше из-за аппаратного ускорения, однако я не нашел способ рисовать многоугольник, заполненный с использованием этого подхода (даже когда все линии подключены).

Даже вызов paint.setStyle(Style.FILL) не заполнял многоугольник при использовании drawLines(...) .

Есть ли способ рисовать заполненный полигон без использования подхода Path ?

Или есть ли другой способ повысить производительность с помощью Canvas ?

Возможно, вам захочется взглянуть на opengl view и использовать его для всех необходимых вам рисунков. Определенно будет чертовски быстро. Тем не менее, весь ваш код чертежа необходимо переписать.

Вероятно, вам нужно сделать что-то вроде:

 Paint red = new Paint(); red.setColor(android.graphics.Color.RED); red.setStyle(Paint.Style.FILL); 

И используйте этот цвет для своего пути, вместо ARGB. Убедитесь, что последняя точка вашего пути заканчивается на первом, это также имеет смысл.

Intereting Posts