修复 多次生成画面预览和历史记录不更新的问题;

This commit is contained in:
2025-09-14 03:30:45 +08:00
parent 6aa250d06e
commit fd35325c52

View File

@@ -41,9 +41,8 @@ export const ImageCanvas: React.FC = () => {
img.onload = () => { img.onload = () => {
setImage(img); setImage(img);
// 仅在这是新图像时自动适应(没有现有的缩放/平移状态 // 每次有新图像时自动适应画布,而不仅仅是在初始状态
if (canvasZoom === 1 && canvasPan.x === 0 && canvasPan.y === 0) { // 通过比较图像数据来判断是否是新图像
// 自动适应图像到画布
const isMobile = window.innerWidth < 768; const isMobile = window.innerWidth < 768;
const padding = isMobile ? 0.9 : 0.8; // 在移动设备上使用更多屏幕空间 const padding = isMobile ? 0.9 : 0.8; // 在移动设备上使用更多屏幕空间
@@ -57,13 +56,12 @@ export const ImageCanvas: React.FC = () => {
// 居中图像 // 居中图像
setCanvasPan({ x: 0, y: 0 }); setCanvasPan({ x: 0, y: 0 });
}
}; };
img.src = canvasImage; img.src = canvasImage;
} else { } else {
setImage(null); setImage(null);
} }
}, [canvasImage, stageSize, setCanvasZoom, setCanvasPan, canvasZoom, canvasPan]); }, [canvasImage, stageSize, setCanvasZoom, setCanvasPan]);
// 处理舞台大小调整 // 处理舞台大小调整
useEffect(() => { useEffect(() => {