diff --git a/src/components/figures/chart/scorecard/chart_scorecard.ts b/src/components/figures/chart/scorecard/chart_scorecard.ts index c37cfbeff3..86dd70b805 100644 --- a/src/components/figures/chart/scorecard/chart_scorecard.ts +++ b/src/components/figures/chart/scorecard/chart_scorecard.ts @@ -43,6 +43,6 @@ export class ScorecardChart extends Component { getZoomedRect(1 / zoom, canvas.getBoundingClientRect()), this.runtime ); - drawScoreChart(config, canvas); + drawScoreChart(config, canvas, zoom); } } diff --git a/src/helpers/figures/charts/scorecard_chart.ts b/src/helpers/figures/charts/scorecard_chart.ts index d397720d1f..f692c048bd 100644 --- a/src/helpers/figures/charts/scorecard_chart.ts +++ b/src/helpers/figures/charts/scorecard_chart.ts @@ -383,7 +383,8 @@ type Canvas2DContext = CanvasRenderingContext2D | OffscreenCanvasRenderingContex export function drawScoreChart( structure: ScorecardChartConfig, - canvas: HTMLCanvasElement | OffscreenCanvas + canvas: HTMLCanvasElement | OffscreenCanvas, + zoom: number = 1 ) { const ctx = canvas.getContext("2d") as Canvas2DContext; if (!ctx) { @@ -391,9 +392,9 @@ export function drawScoreChart( } const dpr = typeof globalThis.devicePixelRatio === "number" ? globalThis.devicePixelRatio : 1; - canvas.width = dpr * structure.canvas.width; - canvas.height = dpr * structure.canvas.height; - ctx.scale(dpr, dpr); + canvas.width = dpr * structure.canvas.width * zoom; + canvas.height = dpr * structure.canvas.height * zoom; + ctx.scale(dpr * zoom, dpr * zoom); const availableWidth = structure.canvas.width - CHART_PADDING; ctx.fillStyle = structure.canvas.backgroundColor;