fix: reduce zoom step to 5% for finer image scaling control

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Your Name 2026-01-31 22:02:59 +08:00
parent 960013d507
commit 486877b323

View File

@ -809,23 +809,23 @@ export function ImageAnnotator({ imageUrl, onConfirm, onCancel, initialResizeMod
setDragStart(null); setDragStart(null);
}; };
// 尺寸调整:放大图片 // 尺寸调整:放大图片(每次5%)
const handleResizeZoomIn = () => { const handleResizeZoomIn = () => {
if (!isResizeMode) return; if (!isResizeMode) return;
setResizeImageScale((prev) => Math.min(prev * 1.2, 5)); // 最大5倍 setResizeImageScale((prev) => Math.min(prev * 1.05, 5)); // 最大5倍,每次放大5%
}; };
// 尺寸调整:缩小图片 // 尺寸调整:缩小图片(每次5%)
const handleResizeZoomOut = () => { const handleResizeZoomOut = () => {
if (!isResizeMode) return; if (!isResizeMode) return;
setResizeImageScale((prev) => Math.max(prev / 1.2, 0.1)); // 最小0.1倍 setResizeImageScale((prev) => Math.max(prev / 1.05, 0.1)); // 最小0.1倍,每次缩小5%
}; };
// 尺寸调整:处理图片缩放(鼠标滚轮) // 尺寸调整:处理图片缩放(鼠标滚轮,每次5%)
const handleResizeImageWheel = (e: React.WheelEvent) => { const handleResizeImageWheel = (e: React.WheelEvent) => {
if (!isResizeMode || !image) return; if (!isResizeMode || !image) return;
e.preventDefault(); e.preventDefault();
const delta = e.deltaY > 0 ? -0.1 : 0.1; const delta = e.deltaY > 0 ? -0.05 : 0.05; // 滚轮每次5%
const newScale = Math.max(0.1, Math.min(5, resizeImageScale + delta)); const newScale = Math.max(0.1, Math.min(5, resizeImageScale + delta));
setResizeImageScale(newScale); setResizeImageScale(newScale);
}; };