From 4fd626078efef35128813d0dfd45e9d258c16831 Mon Sep 17 00:00:00 2001 From: andimairitsch Date: Thu, 22 Jul 2021 22:19:01 +0200 Subject: [PATCH] fix issue #17 --- .../Helper/SKCanvasExtension.cs | 26 +++++++++++++++++++ .../TouchManipulationCanvasView.cs | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/BitooBitImageEditor/Helper/SKCanvasExtension.cs b/src/BitooBitImageEditor/Helper/SKCanvasExtension.cs index 28a07f2..4b59ff5 100644 --- a/src/BitooBitImageEditor/Helper/SKCanvasExtension.cs +++ b/src/BitooBitImageEditor/Helper/SKCanvasExtension.cs @@ -88,7 +88,33 @@ internal static void DrawPath(this SKCanvas canvas, List completedP } } } + internal static void DrawPath(this SKCanvas canvas, List completedPaths, List inProgressPaths) + { + using (SKPaint paint = new SKPaint()) + { + paint.Style = SKPaintStyle.Stroke; + paint.StrokeWidth = 10; + paint.StrokeCap = SKStrokeCap.Round; + paint.StrokeJoin = SKStrokeJoin.Round; + paint.IsAntialias = true; + if (completedPaths != null) + foreach (PaintedPath path in completedPaths) + { + paint.Color = path.Color; + canvas.DrawPath(path.Path, paint); + } + + if (inProgressPaths != null) + foreach (PaintedPath path in inProgressPaths) + { + paint.Color = path.Color; + canvas.DrawPath(path.Path, paint); + } + + + } + } internal static void DrawSurrounding(this SKCanvas canvas, SKRect outerRect, SKRect innerRect, SKColor color) { diff --git a/src/BitooBitImageEditor/ManipulationBitmap/TouchManipulationCanvasView.cs b/src/BitooBitImageEditor/ManipulationBitmap/TouchManipulationCanvasView.cs index 0676d4d..50eaf37 100644 --- a/src/BitooBitImageEditor/ManipulationBitmap/TouchManipulationCanvasView.cs +++ b/src/BitooBitImageEditor/ManipulationBitmap/TouchManipulationCanvasView.cs @@ -138,7 +138,7 @@ private void OnPaintSurface(SKCanvas canvas, SKRect rect, bool isDrawResult, flo canvas.Save(); canvas.SetMatrix(new SKMatrix(scale, 0, transX * scale, 0, scale, transY * scale, 0, 0, 1)); canvas.DrawBitmap(mainBitmap, transX, transY, scale); - canvas.DrawPath(completedPaths, isDrawResult ? null : inProgressPaths); + canvas.DrawPath(completedPaths.ToList(), isDrawResult ? null : inProgressPaths?.Values.ToList()); canvas.Restore(); canvas.DrawBitmap(bitmapCollection, transX, transY, scale); }