drawRadarPath method

dynamic drawRadarPath(
  1. Canvas canvas,
  2. List<double> value,
  3. List<double> maxList,
  4. Paint linePaint,
)

绘制边框

Implementation

drawRadarPath(Canvas canvas, List<double> value, List<double> maxList, Paint linePaint) {
  Path mradarPath = Path();
  double step = radarMap.radius / value.length; //每小段的长度
  mradarPath.moveTo(0, -value[0] / (maxList[0] / value.length) * step);
  for (int i = 1; i < value.length; i++) {
    double mark = value[i] / (maxList[i] / value.length);
    var deg = pi / 180 * (360 / value.length * i - 90);
    mradarPath.lineTo(mark * step * cos(deg), mark * step * sin(deg));
  }
  mradarPath.close();
  canvas.drawPath(mradarPath, linePaint);
}