我在填充画布上绘制的路径时遇到问题。 我读了之前所有的问题
Paint red = new Paint();
red.setColor(Color.RED);
red.setStyle(Paint.Style.FILL_AND_STROKE);
应该是它的工作方式。然后我画了我的路径
Path p = new Path();
p.moveTo(100,100); //point1
p.lineTo(200,200);
p.moveTo(200,200); //point2
p.lineTo(100,200);
p.moveTo(100,200); //point3
p.lineTo(100,100);
p.close();
在我看来,这应该是一条封闭的道路。 在canvas.drawPath之后(p,red); 尽管样式为FILL_AND_STROKE,但绘制了三角形/路径但未填充。 我错了什么?
答案 0 :(得分:1)
没有要填充的路径,因为您的路径由多行组成,但没有相干多边形。请参阅moveTo
文档,其中包含:
将下一个轮廓的开头设置为点(x,y)。
所以通过调用moveTo
,你只是画线。
仅使用lineTo()
,其中"移动"到目标位置。并且您可以跳过上一个lineTo()
到达原点,close()
将自动执行此操作。
// create a triangle
Path p = new Path();
p.moveTo(100,100); //p1
p.lineTo(200,200); //p2
p.lineTo(100,200); //p3
p.close();