我想知道是否有方法使用Android Canvas绘制填充区域(如填充多边形)而不使用 Path
类并调用canvas.drawPath(...)
。< / p>
我想在没有Path
的情况下执行此操作的原因是因为我必须绘制非常大的数据集,而canvas.drawPath(...)
不是硬件加速的,因此速度很慢。
由于硬件加速,使用canvas.drawLines(...)
时的性能要好得多,但是我没有找到一种方法来绘制使用这种方法填充的多边形(即使线都已连接)。
使用paint.setStyle(Style.FILL)
时,即使调用drawLines(...)
也没有填充多边形。
有没有办法在不使用Path
方法的情况下绘制填充多边形?
或还有其他方式可以使用Canvas
提高效果吗?
答案 0 :(得分:0)
您可能希望查看opengl视图并将其用于所需的所有绘图。肯定会快死的。但是,您的所有绘图代码都需要重写。
答案 1 :(得分:0)
您可能需要执行以下操作:
Paint red = new Paint();
red.setColor(android.graphics.Color.RED);
red.setStyle(Paint.Style.FILL);
并将此颜色用于您的路径,而不是您的ARGB。确保路径的最后一点在第一点结束,这也是有道理的。