切换预览图片时自动适配画布
在活动图片变化后重新按完整画布边界计算视口。
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user