如何绘制填充的多边形

6

如何在Flutter中绘制填充的多边形?

目前,我可以使用以下点数组绘制眉毛形状。

Path leftEyePath = Path();
leftEyePath.moveTo(leftEye[0].getX(),leftEye[0].getY());//starting point
for(int i=1;i<leftEye.length;i++){
  leftEyePath.lineTo(leftEye[i].getX(),leftEye[i].getY());
}
canvas.drawPath(leftEyePath,painter);

以上代码最终将会画出一个由许多线段连接而成的多边形,但是要如何画一个填充有我想要的颜色的多边形呢?

编辑: 我目前在查看他们的函数,并找到了drawShadow(..)。

canvas.drawShadow(leftEyePath, Colors.orange[600],0,true);

很不幸,它只能绘制透明颜色

以下是我的当前输出。

enter image description here


1
请查看Paint.style - pskink
@GenchiGenbutsu 尝试了,但没有任何变化。我是不是漏掉了什么? - Leon Armstrong
尝试过 Paint.style 吗? - pskink
@pskink,你说得对,尝试了style = PaintingStyle.fill,它完美地工作了! - Leon Armstrong
顺便问一下,你试过使用path.addPolygon(leftEye, true);而不是moveTo/lineTo吗? - Nashev
1个回答

3

您可以将绘画风格更改为PaintingStyle.fill。绘画笔将自动填充路径的封闭区域。

  Paint _filledPainter = new Paint()
    ..style = PaintingStyle.fill
  ;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接