diff --git a/lib/drawGraphicsToCanvas.ts b/lib/drawGraphicsToCanvas.ts index 8c2bd45..ba565cb 100644 --- a/lib/drawGraphicsToCanvas.ts +++ b/lib/drawGraphicsToCanvas.ts @@ -383,6 +383,7 @@ export function drawGraphicsToCanvas( ctx.lineWidth = 2 } ctx.lineCap = "round" + ctx.lineJoin = "round" if (line.strokeDash) { if (typeof line.strokeDash === "string") { diff --git a/lib/getPngBufferFromGraphicsObject.ts b/lib/getPngBufferFromGraphicsObject.ts index 724ba1a..5328be2 100644 --- a/lib/getPngBufferFromGraphicsObject.ts +++ b/lib/getPngBufferFromGraphicsObject.ts @@ -234,6 +234,7 @@ export async function getPngBufferFromGraphicsObject( line.strokeWidth === undefined ? 1 : Math.max(line.strokeWidth * strokeScale, 1) + ctx.lineJoin = "round" strokePolyline(ctx, projectedPoints, dashPattern) if ( diff --git a/lib/getSvgFromGraphicsObject.ts b/lib/getSvgFromGraphicsObject.ts index 20aed0f..331e38c 100644 --- a/lib/getSvgFromGraphicsObject.ts +++ b/lib/getSvgFromGraphicsObject.ts @@ -234,6 +234,7 @@ export function getSvgFromGraphicsObject( points: projectedPoints.map((p) => `${p.x},${p.y}`).join(" "), fill: "none", stroke: line.strokeColor || "black", + "stroke-linejoin": "round", "stroke-width": !line.strokeWidth ? "1px" : typeof line.strokeWidth === "string" diff --git a/tests/__snapshots__/line-joins.snapshot-acute-polyline.snap.svg b/tests/__snapshots__/line-joins.snapshot-acute-polyline.snap.svg index 9d6a70f..5b7b1bd 100644 --- a/tests/__snapshots__/line-joins.snapshot-acute-polyline.snap.svg +++ b/tests/__snapshots__/line-joins.snapshot-acute-polyline.snap.svg @@ -1,4 +1,4 @@ -