From 1882c2149603178090b08e7d48615763818ee21e Mon Sep 17 00:00:00 2001 From: Michael Fink Date: Mon, 11 May 2026 18:19:23 +0200 Subject: [PATCH 1/2] Fixed rendering final image of DrawingView using wrong line cap style on Windows --- .../DrawingView/Service/DrawingViewService.windows.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs b/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs index b7ed68f28f..904c2f5ce3 100644 --- a/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs +++ b/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs @@ -1,6 +1,7 @@ using System.Numerics; using Microsoft.Graphics.Canvas; using Microsoft.Graphics.Canvas.Brushes; +using Microsoft.Graphics.Canvas.Geometry; using Microsoft.Maui.Platform; using Windows.Storage.Streams; using Windows.UI.Input.Inking; @@ -155,6 +156,12 @@ static void DrawStrokes(CanvasDrawingSession session, return offscreen; } + static readonly CanvasStrokeStyle defaultCanvasStrokeStyle = new() + { + StartCap = CanvasCapStyle.Round, + EndCap = CanvasCapStyle.Round, + }; + static void DrawInk(this CanvasDrawingSession session, IEnumerable strokes) { foreach (var stroke in strokes) @@ -167,7 +174,8 @@ static void DrawInk(this CanvasDrawingSession session, IEnumerable st session.DrawLine( new Vector2((float)currentPoint.X, (float)currentPoint.Y), new Vector2((float)nextPoint.X, (float)nextPoint.Y), - stroke.DrawingAttributes.Color, (float)stroke.DrawingAttributes.Size.Width); + stroke.DrawingAttributes.Color, (float)stroke.DrawingAttributes.Size.Width, + defaultCanvasStrokeStyle); } } } From 975cb57766e9804626c2414095dc5050dd943fc4 Mon Sep 17 00:00:00 2001 From: Michael Fink Date: Mon, 11 May 2026 18:37:07 +0200 Subject: [PATCH 2/2] Renamed defaultCanvasStrokeStyle to roundStartEndCapCanvasStrokeStyle --- .../Views/DrawingView/Service/DrawingViewService.windows.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs b/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs index 904c2f5ce3..4b5dd0e299 100644 --- a/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs +++ b/src/CommunityToolkit.Maui.Core/Views/DrawingView/Service/DrawingViewService.windows.cs @@ -156,7 +156,7 @@ static void DrawStrokes(CanvasDrawingSession session, return offscreen; } - static readonly CanvasStrokeStyle defaultCanvasStrokeStyle = new() + static readonly CanvasStrokeStyle roundStartEndCapCanvasStrokeStyle = new() { StartCap = CanvasCapStyle.Round, EndCap = CanvasCapStyle.Round, @@ -175,7 +175,7 @@ static void DrawInk(this CanvasDrawingSession session, IEnumerable st new Vector2((float)currentPoint.X, (float)currentPoint.Y), new Vector2((float)nextPoint.X, (float)nextPoint.Y), stroke.DrawingAttributes.Color, (float)stroke.DrawingAttributes.Size.Width, - defaultCanvasStrokeStyle); + roundStartEndCapCanvasStrokeStyle); } } }