protected override void OnDraw(Canvas canvas) { base.OnDraw(canvas); //eerst schoonmaken eerdere acties SchoonCanvas cc = new SchoonCanvas(canvas); cc.doClear(); _knopen = new PointF[knopen.Length]; //hevel gegenereerde coordinaten over naar grafische punten for (int i = 0; i <= knopen.Length - 1; i++) { _knopen[i] = (new PointF(knopen[i].getX(), knopen[i].getY())); } //bepaal kleur en dikte Paint mPaint = new Paint(); mPaint.Color = Color.Red; mPaint.SetStyle(Paint.Style.Stroke); mPaint.StrokeWidth = 30; //eerste punt, rood canvas.DrawPoint(_knopen[0].X, _knopen[0].Y, mPaint); //teken overige punten mPaint.Color = Color.Yellow; mPaint.SetStyle(Paint.Style.Stroke); mPaint.StrokeWidth = 20; for (var i = 1; i < _knopen.Length; i++) { canvas.DrawPoint(_knopen[i].X, _knopen[i].Y, mPaint); } }
protected override void OnDraw(Canvas canvas) { base.OnDraw(canvas); //eerst schoonmaken eerdere acties SchoonCanvas sc = new SchoonCanvas(canvas); sc.doClear(); //als eerste tekenen van de gegenereerde knopen _knopen = new PointF[knopen.Length]; //hevel gegenereeerde coordinaten over naar grafische punten for (int i = 0; i <= knopen.Length - 1; i++) { _knopen[i] = (new PointF(knopen[i].getX(), knopen[i].getY())); } Paint knoopPaint = new Paint(); knoopPaint.Color = Color.Red; knoopPaint.SetStyle(Paint.Style.Stroke); knoopPaint.StrokeWidth = 40; //teken eerste punt, rood canvas.DrawPoint(_knopen[0].X, _knopen[0].Y, knoopPaint); //teken overige punten knoopPaint.Color = Color.Yellow; knoopPaint.SetStyle(Paint.Style.Stroke); knoopPaint.StrokeWidth = 30; for (var i = 1; i < _knopen.Length; i++) { canvas.DrawPoint(_knopen[i].X, _knopen[i].Y, knoopPaint); } //einde tekenen gegenereerde knopen //tekenen berekende route //overhevelen coordinaten berekende knopen naar grafische knopen _routeknopen = new PointF[routeknopen.Length]; for (int i = 0; i <= routeknopen.Length - 1; i++) { _routeknopen[i] = (new PointF(routeknopen[i].getX(), routeknopen[i].getY())); } //teken route, van startknoop tot tweede knoop, in rood var pathEerste = new Path(); pathEerste.MoveTo(_routeknopen[0].X, _routeknopen[0].Y); pathEerste.LineTo(_routeknopen[1].X, _routeknopen[1].Y); var lijnPaint = new Paint { Color = Color.Red }; lijnPaint.SetStyle(Paint.Style.Stroke); lijnPaint.StrokeWidth = 5; canvas.DrawPath(pathEerste, lijnPaint); //teken route, de rest vanaf tweede knoop var pathOverig = new Path(); pathOverig.MoveTo(_routeknopen[1].X, _routeknopen[1].Y); for (var i = 2; i < _routeknopen.Length; i++) { pathOverig.LineTo(_routeknopen[i].X, _routeknopen[i].Y); } lijnPaint.Color = Color.White; lijnPaint.SetStyle(Paint.Style.Stroke); canvas.DrawPath(pathOverig, lijnPaint); //teken route, van laatste tot start knoop var pathLaatste = new Path(); pathLaatste.MoveTo(_routeknopen[_routeknopen.Length - 1].X, _routeknopen[_routeknopen.Length - 1].Y); pathLaatste.LineTo(_routeknopen[0].X, _routeknopen[0].Y); canvas.DrawPath(pathLaatste, lijnPaint); }