From 6851c4477944d0659fff5ea11045f0e407f02265 Mon Sep 17 00:00:00 2001 From: Guntis Smaukstelis Date: Thu, 10 Jul 2025 23:11:26 +0300 Subject: [PATCH] Enlarge crop area --- web/src/pages/harmonie/draw/drawGrib.ts | 13 ++++++------- web/src/pages/harmonie/draw/windDirection.ts | 9 +++++---- web/src/pages/harmonie/interfaces.ts | 3 ++- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/web/src/pages/harmonie/draw/drawGrib.ts b/web/src/pages/harmonie/draw/drawGrib.ts index aca8c36..f825481 100644 --- a/web/src/pages/harmonie/draw/drawGrib.ts +++ b/web/src/pages/harmonie/draw/drawGrib.ts @@ -185,10 +185,9 @@ export function drawRotate( tempCtx.restore() ctx.clearRect(0, 0, canvas.width, canvas.height) - // canvas.width = 390 - // canvas.height = 165 - canvas.width = 1365 - canvas.height = 576 + canvas.width = 640*4 - 510 // -offset right + canvas.height = 540*1.7 + // canvas.style.border = "1px solid red" // console.log(ctx.imageSmoothingEnabled, ctx.imageSmoothingQuality) if (isInterpolated) { ctx.imageSmoothingEnabled = true @@ -197,9 +196,9 @@ export function drawRotate( ctx.imageSmoothingEnabled = false } ctx.save() - ctx.translate(canvas.width/2, canvas.height/2) + ctx.translate(canvas.width/2+255, canvas.height/2) ctx.scale(scale, scale) - ctx.drawImage(tempCanvas, -tempCanvas.width/2, -tempCanvas.height/2) + ctx.drawImage(tempCanvas, -tempCanvas.width/1.5, -tempCanvas.height/1.5) ctx.restore() } @@ -208,7 +207,7 @@ function drawContour( ctx: CanvasRenderingContext2D, ): void { ctx.save() - ctx.translate(canvas.width/2 +120, canvas.height/2 -20) + ctx.translate(canvas.width/2 -20+255, canvas.height/2 -10) // TODO create contour image exact scale when sizes will be accepted const scale = 5.3/3.5 const scaledWidth = latviaBoderImg.width/scale diff --git a/web/src/pages/harmonie/draw/windDirection.ts b/web/src/pages/harmonie/draw/windDirection.ts index 379a680..6138a4c 100644 --- a/web/src/pages/harmonie/draw/windDirection.ts +++ b/web/src/pages/harmonie/draw/windDirection.ts @@ -112,10 +112,11 @@ function getAvgDirection(directions: number[][], gridRow: number, gridCol: numbe const directionRow = gridRow * cellSize + row; const directionCol = gridCol * cellSize + col; - const directionRad = directions[directionRow][directionCol] - - sumSin += Math.sin(directionRad); - sumCos += Math.cos(directionRad); + if (directions[directionRow] !== undefined && directions[directionRow][directionCol] !== undefined) { + const directionRad = directions[directionRow][directionCol] + sumSin += Math.sin(directionRad); + sumCos += Math.cos(directionRad); + } } } diff --git a/web/src/pages/harmonie/interfaces.ts b/web/src/pages/harmonie/interfaces.ts index ccde95a..e577b5f 100644 --- a/web/src/pages/harmonie/interfaces.ts +++ b/web/src/pages/harmonie/interfaces.ts @@ -52,5 +52,6 @@ export type DrawOptions = { getIsInterpolated: Accessor, } -export const CROP_BOUNDS = { x: 1906-1-440, y: 895, width: 440, height: 380, angle: 26 } +// export const CROP_BOUNDS = { x: 1906-1-440, y: 895, width: 440, height: 380, angle: 26 } +export const CROP_BOUNDS = { x: 1906-1-660, y: 840, width: 660, height: 620, angle: 26 } export type CropBounds = typeof CROP_BOUNDS