From dbdf834caac0b834df7770cb8bda5195aea230f3 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Mon, 20 Apr 2026 20:09:28 +0800 Subject: [PATCH] fix(tool): assistShape --- components/label/components/AssistShapeComponent.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/components/label/components/AssistShapeComponent.tsx b/components/label/components/AssistShapeComponent.tsx index 0316000..544cc43 100644 --- a/components/label/components/AssistShapeComponent.tsx +++ b/components/label/components/AssistShapeComponent.tsx @@ -6,6 +6,8 @@ import React, { useImperativeHandle, useRef, } from "react" +import { useBottomToolsStore } from "../useBottomToolsStore" +import { usePaperStore } from "../usePaperStore" import { useTopToolsStore } from "../useTopToolsStore" interface AssistShapeComponentProps { @@ -18,6 +20,10 @@ const AssistShapeComponent = ( ) => { const { size } = props const scale = useTopToolsStore((state) => state.scale) + const activeImage = useBottomToolsStore((state) => state.activeImage) + const rasterScale = usePaperStore( + (state) => state.rasterScale[activeImage] ?? 1 + ) const canvasRef = useRef(null) const lastPointerRef = useRef<{ x: number; y: number } | null>(null) @@ -27,7 +33,7 @@ const AssistShapeComponent = ( const ctx = canvas?.getContext("2d") if (!canvas || !ctx) return - const radius = Math.max(1, size * scale) + const radius = Math.max(1, size * scale * rasterScale) const side = radius * 2 const left = centerX - radius const top = centerY - radius @@ -41,7 +47,7 @@ const AssistShapeComponent = ( ctx.arc(centerX, centerY, radius, 0, Math.PI * 2) ctx.stroke() }, - [scale, size] + [rasterScale, scale, size] ) useEffect(() => {