切换预览图片时自动适配画布

在活动图片变化后重新按完整画布边界计算视口。
This commit is contained in:
2026-09-11 19:04:33 +08:00
parent d455dc18a9
commit e66eb2fb55
@@ -140,6 +140,31 @@ export function PreviewWorkspace({
setViewportState(next);
}, []);
useEffect(() => {
if (!activeImageId || !logicalSize) return;
const element = viewportElementRef.current;
setViewport(
fitViewportToBounds({
bounds: {
x: 0,
y: 0,
width: logicalSize.width,
height: logicalSize.height,
},
canvasSize: {
width: element?.clientWidth || canvasSize.width,
height: element?.clientHeight || canvasSize.height,
},
}),
);
}, [
activeImageId,
canvasSize.height,
canvasSize.width,
logicalSize,
setViewport,
]);
const scaleViewportFromCenter = useCallback(
(nextScale: number) => {
const element = viewportElementRef.current;